summaryrefslogtreecommitdiffstats
path: root/tools/crlf.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/crlf.c')
-rw-r--r--tools/crlf.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/tools/crlf.c b/tools/crlf.c
new file mode 100644
index 000000000..f81f77e69
--- /dev/null
+++ b/tools/crlf.c
@@ -0,0 +1,44 @@
+/* crlf.c
+ */
+
+#include <stdio.h>
+
+int
+main(int argc, char **argv)
+{
+ int c, lc;
+ int off=0;
+
+ if( argc > 1 ) {
+ fprintf(stderr, "no arguments, please\n");
+ return 1;
+ }
+
+ lc = -1;
+ while( (c=getchar()) != EOF ) {
+ #if 0
+ if( c == '\r' && lc == ' ' )
+ fprintf(stderr,"SP,CR at %d\n", off );
+ if( c == '\n' && lc == ' ' )
+ fprintf(stderr,"SP,LF at %d\n", off );
+ #endif
+ if( c == '\n' && lc == '\r' )
+ putchar(c);
+ else if( c == '\n' ) {
+ putchar('\r');
+ putchar(c);
+ }
+ else if( c != '\n' && lc == '\r' ) {
+ putchar('\n');
+ putchar(c);
+ }
+ else
+ putchar(c);
+
+ lc = c;
+ off++;
+ }
+
+ return 0;
+}
+