.\" $Id: ansi2knr.1 $ .TH ANSI2KNR 1 "9 September 1998" \" -*- nroff -*- .SH NAME ansi2knr \- convert ANSI C to Kernighan & Ritchie C .SH SYNOPSIS \fBansi2knr\fR [\fB--filename\fR \fIfilename\fR] [\fIinput_file\fR [\fIoutput_file\fR]] .br .SH DESCRIPTION \fB--filename\fR provides the file name for the #line directive in the output, overriding \fIinput_file\fR (if present). .sp If no \fIinput_file\fR is supplied, input is read from stdin. .sp If no \fIoutput_file\fR is supplied, output goes to stdout. .sp There are no error messages. .sp \fBansi2knr\fR recognizes function definitions by seeing a non-keyword identifier 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. .sp The following constructs will confuse it: .br - Any other construct that starts at the left margin and follows the above syntax (such as a macro or function call). .br - Some macros that tinker with the syntax of the function header. .sp The --varargs switch is obsolete, and is recognized only for backwards compatibility. The present version of \fBansi2knr\fR will always attempt to convert a ... argument to va_alist and va_dcl. .SH AUTHOR L. Peter Deutsch wrote the original ansi2knr and continues to maintain the current version; most of the code in the current version is his work. ansi2knr also includes contributions by Francois Pinard and Jim Avera .