diff --git a/classpath/java/io/BufferedReader.java b/classpath/java/io/BufferedReader.java index 3db923c5e9..236a086b80 100644 --- a/classpath/java/io/BufferedReader.java +++ b/classpath/java/io/BufferedReader.java @@ -42,7 +42,15 @@ public class BufferedReader extends Reader { } for (int i = position; i < limit; ++i) { - if (buffer[i] == '\n') { + if(buffer[i] == '\r') { + sb.append(buffer, position, i - position); + position = i + 1; + if(i+1 < limit && buffer[i+1] == '\n') { + position = i + 1; + return sb.toString(); + } + return sb.toString(); + } else if (buffer[i] == '\n') { sb.append(buffer, position, i - position); position = i + 1; return sb.toString(); diff --git a/src/type-generator.cpp b/src/type-generator.cpp index 626573af8e..254fd966d8 100644 --- a/src/type-generator.cpp +++ b/src/type-generator.cpp @@ -790,7 +790,7 @@ read(Input* in, Object* eos, int level) } } break; - case ' ': case '\t': case '\n': { + case ' ': case '\t': case '\n': case '\r': { if (s.first) { return String::make(s.first); }