osdir.com

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IO] Provenance of copied code in InfiniteCircularInputStream


Thanks for the quick investigation and response.

It's appreciated!

Regards,
Sharon



On Mon, Nov 19, 2018 at 4:36 PM Gary Gregory <garydgregory@xxxxxxxxx> wrote:

> Hi All:
>
> I agree that the 0xff usage does not need to be documented, and while I do
> see it used in ByteArrayInputStream#read() in Oracle Java 6, I really do
> not think we need to refer to it.
>
> I am +1 to removing the comment. Who will do the honors?
>
> Gary
>
> On Mon, Nov 19, 2018 at 10:15 AM Mark Thomas <markt@xxxxxxxxxx> wrote:
>
>> I'd image the comment is referring to the use of "... & 0xFF" but it
>> seems to be a fairly pointless comment as that is just the standard way
>> to switch from signed byte to 'unsigned' int values.
>>
>> I can't see what else it could possibly be referring to.
>>
>> I don't see any IP issue here.
>>
>> I'd suggest simply removing the comment but with a fairly verbose commit
>> message to help anyone looking into this in the future.
>>
>> Mark
>>
>>
>> On 19/11/2018 16:57, Pascal Schumacher wrote:
>> > Hi everybody,
>> >
>> > the code is from a pull request which I merged:
>> >
>> > https://github.com/apache/commons-io/pull/8
>> >
>> > I did not author the code.
>> >
>> > The comment seems incorrect because I do not think there is a field
>> > "repeatedContent" in java.io.ByteArrayInputStream. The current OpenJDK
>> > implementation looks pretty different:
>> >
>> >
>> http://hg.openjdk.java.net/jdk/jdk/file/49e0f711bb2b/src/java.base/share/classes/java/io/ByteArrayInputStream.java#l146
>> >
>> >
>> > -Pascal
>> >
>> > Am 19.11.2018 um 16:59 schrieb Gary Gregory:
>> >> Hi All and Pascal S.,
>> >>
>> >> Sharon (Eclipse) has pointed out to me that
>> >> in org.apache.commons.io.input.InfiniteCircularInputStream.read() [1],
>> >> we have:
>> >>
>> >>     @Override
>> >>     public int read() {
>> >>         position = (position + 1) % repeatedContent.length;
>> >>         return repeatedContent[position] & 0xff; // copied from
>> >>  // java.io.ByteArrayInputStream.read()
>> >>     }
>> >>
>> >> Where does the code originate? Oracle JRE? OpenJDK? Where? Such a
>> >> comment needs to show better provenance since I am pretty sure we are
>> >> NOT allowed to copy code from Oracle.
>> >>
>> >> The code was added with the commit
>> >>
>> >>
>> https://github.com/apache/commons-io/commit/699d6f0eca65837501d7ab7a92ae2c614f8e6cbf#diff-5cdd5f292c77ae5feee8f3f101ded473
>> >>
>> >>
>> >> With this authorship:
>> >>
>> >> @piotrturski <https://github.com/piotrturski>@PascalSchumacher
>> >> <https://github.com/PascalSchumacher>
>> >> piotrturski
>> >> <https://github.com/apache/commons-io/commits?author=piotrturski
>> > authored
>> >> and PascalSchumacher
>> >> <https://github.com/apache/commons-io/commits?author=PascalSchumacher
>> > committed
>> >> on Dec 1, 2015
>> >>
>> >> Gary
>> >>
>> >> [1]
>> >>
>> https://github.com/apache/commons-io/blob/3ad22fe3d689781a76a92908d0bbc119b2c68892/src/main/java/org/apache/commons/io/input/InfiniteCircularInputStream.java#L48-L49
>> >>
>> >>
>> >
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@xxxxxxxxxxxxxxxxxx
>> For additional commands, e-mail: dev-help@xxxxxxxxxxxxxxxxxx
>>
>>