ANSI2KNR(1)                                                        ANSI2KNR(1)

       ansi2knr - convert ANSI C to Kernighan & Ritchie C

       ansi2knr [--filename filename] [input_file [output_file]]

       --filename  provides  the file name for the #line directive in the out-
       put, overriding input_file (if present).

       If no input_file is supplied, input is read from stdin.

       If no output_file is supplied, output goes to stdout.

       There are no error messages.

       ansi2knr recognizes function definitions by seeing a non-keyword  iden-
       tifier at the left margin, followed by a left parenthesis, with a right
       parenthesis as the last character on the line, and with a left brace as
       the  first  token  on the following line (ignoring possible intervening
       comments).  It will recognize a  multi-line  header  provided  that  no
       intervening line ends with a left or right brace or a semicolon.  These
       algorithms ignore whitespace and comments,  except  that  the  function
       name must be the first thing on the line.

       ansi2knr  also  recognizes  adjacent  string  literals and concatenates

       The following constructs will confuse it:
            - Any other construct that starts at the left margin  and  follows
       the above syntax (such as a macro or function call).
            -  Some macros that tinker with the syntax of the function header.
            - String literals whose  concatenation  requires  rewriting  their
       contents;  e.g.  "ab "  "07c" is concatenated to "ab 07c", which is not

       The --varargs switch is obsolete, and is recognized only for  backwards
       compatibility.   The present version of ansi2knr will always attempt to
       convert a ... argument to va_alist and va_dcl.

       L. Peter Deutsch <> wrote the  original  ansi2knr  and
       continues to maintain the current version; most of the code in the cur-
       rent version is his work.   ansi2knr  also  includes  contributions  by
       Francois Pinard <>, Jim Avera <>,
       and Paul Eggert <>.

                                 8 March 2000                      ANSI2KNR(1)