diff --git a/WHATSNEW b/WHATSNEW index 9c0c1ecca..69f73da29 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -60,6 +60,8 @@ Fixed bugs: * Some junit formatters incorrectly assumed that all testcases would inherit from junit.framework.TestCase. +* dropped the first characters from Mac files. + Other changes: -------------- * attempts to rename the directory, if everything inside it is diff --git a/src/etc/testcases/taskdefs/fixcrlf/build.xml b/src/etc/testcases/taskdefs/fixcrlf/build.xml index 4fe7c126d..b99f579d4 100644 --- a/src/etc/testcases/taskdefs/fixcrlf/build.xml +++ b/src/etc/testcases/taskdefs/fixcrlf/build.xml @@ -97,6 +97,13 @@ /> + + + + -1) { - eol = CR; - eolstr = "\r"; - } else { - eol = LF; - eolstr = "\n"; - } - } - else { + eol = CR; + eolstr = "\r"; + } else if (Os.isFamily("dos")) { ctrlz = ASIS; eol = CRLF; eolstr = "\r\n"; + } else { + ctrlz = REMOVE; + eol = LF; + eolstr = "\n"; } } @@ -853,6 +852,7 @@ public class FixCRLF extends MatchingTask { // Regard \r\r not followed by \n as two lines ++eolcount; eolStr.append('\r'); + reader.mark(2); switch ((char)(ch = reader.read())) { case '\r': if ((char)(ch = reader.read()) == '\n') { @@ -864,6 +864,9 @@ public class FixCRLF extends MatchingTask { ++eolcount; eolStr.append('\n'); break; + default: + reader.reset(); + break; } // end of switch ((char)(ch = reader.read())) break; diff --git a/src/testcases/org/apache/tools/ant/taskdefs/FixCrLfTest.java b/src/testcases/org/apache/tools/ant/taskdefs/FixCrLfTest.java index d92588773..6f0f65991 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/FixCrLfTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/FixCrLfTest.java @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2001 The Apache Software Foundation. All rights + * Copyright (c) 2001-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -132,6 +132,12 @@ public class FixCrLfTest extends BuildFileTest { new File("src/etc/testcases/taskdefs/fixcrlf/result/Junk9.java")); } + public void testMacLines() throws IOException { + executeTarget("testMacLines"); + assertEqualContent(new File("src/etc/testcases/taskdefs/fixcrlf/expected/Mac2Unix"), + new File("src/etc/testcases/taskdefs/fixcrlf/result/Mac2Unix")); + } + public void testNoOverwrite() throws IOException { executeTarget("test1"); File result =