Proneel Guptan created IO-679: --------------------------------- Summary: input.AbstractCharacterFilterReader passes count of chars read to filter, not the filter char Key: IO-679 URL: https://issues.apache.org/jira/browse/IO-679 Project: Commons IO Issue Type: Bug Components: Streams/Writers Affects Versions: 2.7 Reporter: Proneel Guptan Attachments: AbstractCharacterFilterIssue.java
Ran into a bug with AbstractCharacterFilterReader where I noticed that my filter was not receiving the actual characters, but was instead receiving an int value corresponding to the number of chars in my input stream buffer. I looked at the [source file|[https://github.com/apache/commons-io/blob/master/src/main/java/org/apache/commons/io/input/AbstractCharacterFilterReader.java]] and realized that on line 64: {{if (filter(read)) {}} should have been: {{if (filter(cbuf[readPos])) {}} 'read` has the number of bytes read from the source reader, not the code point of the character read. I have attached a sample program that illustrates the issue. I can work on a patch and submit it when done. I will add a test case in the patch. -- This message was sent by Atlassian Jira (v8.3.4#803005)