< prev index next >

src/java.base/share/classes/java/io/LineNumberReader.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 259,268 **** --- 259,273 ---- * @throws IOException * If an I/O error occurs */ public void mark(int readAheadLimit) throws IOException { synchronized (lock) { + // If the most recently read character is '\r', then increment the + // read ahead limit as in this case if the next character is '\n', + // two characters would actually be read by the next read(). + if (skipLF) + readAheadLimit++; super.mark(readAheadLimit); markedLineNumber = lineNumber; markedSkipLF = skipLF; } }
< prev index next >