osdir.com

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

Re: [IO] Provenance of copied code in InfiniteCircularInputStream


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
>
>