crlf converts among the different end-of-line formats for unix, dos, and mac. The C version is a single program that does in-place editing and works with stdin and stdout and is designed to account for asynchronous signals. The Java version is a little older. Instead of having a single integrated program, the conversion routines are spread across three programs, "crlf", "lf", and "cr". Like the C version, they all do in-place editing and also work with stdin and stdout.