On Fri, 30 Oct 2026 13:17:35 GMT, Volkan Yazici <[email protected]> wrote:

> Fix `RandomAccessFile#skipBytes(int)` and overhaul associated tests.
> 
> ### Testing notes
> 
> `SkipBytes` has gone through a major facelift.
> 
> - Past EOF `getFilePointer()` check was broken, fixed in f15ccfaf.
> - `new RandomAccessFile("input.txt" , "rw")` was not working at all. File 
> needed to be passed via `new File(System.getProperty("test.src", "."), 
> "input.txt")`. Fixed in f4300dbb.
> - `input.txt` doesn't need to be VCS-tracked. Removed it in f4300dbb.
> - Extended the tests to reproduce the issue, see 049ae7c5. New cases are 
> cloned from 46d34868 delivered in [JDK-8394316].
> - Migrated the tests to JUnit, see 02ac947c.
> 
> [JDK-8394316]: https://bugs.openjdk.org/browse/JDK-8394316
> 
> ---------
> - [X] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

src/java.base/share/classes/java/io/RandomAccessFile.java line 530:

> 528:             return 0;
> 529:         }
> 530:         long newpos = len - pos > n ? pos + n : len;

I think this is a lot less readable. Can you keep pos = getFilePosition() and 
len = length() rather than assigning them in the if statement. Then you can add 
a long remaining or long skipped so it's much more readable (len - pos > n is 
just too subtle and hard to read).

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/33649#discussion_r4424547856

Reply via email to