From: Michael Koch Date: Tue, 24 Jun 2003 07:25:24 +0000 (+0000) Subject: 2003-06-24 Michael Koch X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20afd4757112345a1f7d9eabe4ff0d6e772a8701;p=platform%2Fupstream%2Fgcc.git 2003-06-24 Michael Koch * java/io/LineNumberReader.java (skip): Dont do line number accounting here as this is already done in read(), simplified. From-SVN: r68408 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6d6ad17..e7d39c1 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-06-24 Michael Koch + + * java/io/LineNumberReader.java + (skip): Dont do line number accounting here as this is already done in + read(), simplified. + 2003-06-21 Michael Koch * java/io/File.java diff --git a/libjava/java/io/LineNumberReader.java b/libjava/java/io/LineNumberReader.java index 9d80745..12bafe3 100644 --- a/libjava/java/io/LineNumberReader.java +++ b/libjava/java/io/LineNumberReader.java @@ -374,37 +374,22 @@ public class LineNumberReader extends BufferedReader * * @exception IOException If an error occurs */ - public long skip(long count) throws IOException + public long skip (long count) throws IOException { if (count <= 0) return 0; - long to_do = count; - do + + int skipped; + + for (skipped = 0; skipped < count; skipped++) { - int ch = read(); - if (ch < 0) - break; - to_do--; - if (ch == '\n' || ch == '\r') - lineNumber++; - else - { - long fence = pos + to_do; - if (limit < fence) - fence = limit; - int end = pos; - for (; end < fence; end++) - { - char endch = buffer[end]; - if (endch == '\n' || endch == '\r') - break; - } - to_do -= end - pos; - pos = end; - } + int ch = read(); + + if (ch < 0) + break; } - while (to_do > 0); - return count - to_do; + + return skipped; } }