Index: src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java,v
retrieving revision 1.9.2.5
diff -u -r1.9.2.5 ReplaceRegExp.java
--- src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java	24 Jun 2002 02:28:10 -0000	1.9.2.5
+++ src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java	18 Sep 2002 12:35:45 -0000
@@ -323,18 +323,38 @@
                 Project.MSG_VERBOSE);
 
             if (byline) {
-                LineNumberReader lnr = new LineNumberReader(br);
-                String line = null;
+                StringBuffer linebuf = new StringBuffer();
+                int c;
+                boolean eol = false;
 
-                while ((line = lnr.readLine()) != null) {
-                    String res = doReplace(regex, subs, line, options);
-
-                    if (!res.equals(line)) {
-                        changes = true;
+                do {
+                    c = br.read();
+                    if ((c == '\n') || (c == '\r')) {
+                        eol = true;
+                        linebuf.append((char) c);
                     }
+                    else {
+                        if (eol || (c < 0)) {
+                            String line = linebuf.toString();
+                            String res = doReplace(regex, subs, line, options);
+
+                            if (!res.equals(line)) {
+                                changes = true;
+                            }
+
+                            pw.print(res);
 
-                    pw.println(res);
+                            linebuf.setLength(0);
+                            eol = false;
+                        }
+
+                        if (c >= 0) {
+                            linebuf.append((char) c);
+                        }
+                    }
                 }
+                while (c >= 0);
+
                 pw.flush();
             } else {
                 int flen = (int) f.length();
