2004-05-04 Michael Koch <konqueror@gmx.de>

* java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java:
	(compareTo): Fixed bogus implementation in all buffer classes.

From-SVN: r81489
This commit is contained in:
Michael Koch 2004-05-04 21:31:30 +00:00 committed by Michael Koch
parent 6c89c39a48
commit 933522fbc3
8 changed files with 143 additions and 167 deletions

View File

@ -1,3 +1,14 @@
2004-05-04 Michael Koch <konqueror@gmx.de>
* java/nio/ByteBuffer.java,
java/nio/CharBuffer.java,
java/nio/DoubleBuffer.java,
java/nio/FloatBuffer.java,
java/nio/IntBuffer.java,
java/nio/LongBuffer.java,
java/nio/ShortBuffer.java:
(compareTo): Fixed bogus implementation in all buffer classes.
2004-05-04 Ingo Proetel <proetel@aicas.com>
* java/awt/image/ColorModel.java (getRGBdefault): Default ColorModel has

View File

@ -293,32 +293,27 @@ public abstract class ByteBuffer extends Buffer
*/
public int compareTo (Object obj)
{
ByteBuffer a = (ByteBuffer) obj;
ByteBuffer other = (ByteBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
byte a = get(pos_this++);
byte b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* CharBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -310,32 +310,27 @@ public abstract class CharBuffer extends Buffer
*/
public int compareTo (Object obj)
{
CharBuffer a = (CharBuffer) obj;
CharBuffer other = (CharBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
char a = get(pos_this++);
char b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* DoubleBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -265,32 +265,27 @@ public abstract class DoubleBuffer extends Buffer
*/
public int compareTo (Object obj)
{
DoubleBuffer a = (DoubleBuffer) obj;
DoubleBuffer other = (DoubleBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
double a = get(pos_this++);
double b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* FloatBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -265,32 +265,27 @@ public abstract class FloatBuffer extends Buffer
*/
public int compareTo (Object obj)
{
FloatBuffer a = (FloatBuffer) obj;
FloatBuffer other = (FloatBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
float a = get(pos_this++);
float b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* IntBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -265,32 +265,27 @@ public abstract class IntBuffer extends Buffer
*/
public int compareTo (Object obj)
{
IntBuffer a = (IntBuffer) obj;
IntBuffer other = (IntBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
int a = get(pos_this++);
int b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* LongBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -265,32 +265,27 @@ public abstract class LongBuffer extends Buffer
*/
public int compareTo (Object obj)
{
LongBuffer a = (LongBuffer) obj;
LongBuffer other = (LongBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
long a = get(pos_this++);
long b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**

View File

@ -1,5 +1,5 @@
/* ShortBuffer.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -265,32 +265,27 @@ public abstract class ShortBuffer extends Buffer
*/
public int compareTo (Object obj)
{
ShortBuffer a = (ShortBuffer) obj;
ShortBuffer other = (ShortBuffer) obj;
if (a.remaining () != remaining ())
return 1;
if (! hasArray () ||
! a.hasArray ())
int num = Math.min(remaining(), other.remaining());
int pos_this = position();
int pos_other = other.position();
for (int count = 0; count < num; count++)
{
return 1;
short a = get(pos_this++);
short b = other.get(pos_other++);
if (a == b)
continue;
if (a < b)
return -1;
return 1;
}
int r = remaining ();
int i1 = position ();
int i2 = a.position ();
for (int i = 0; i < r; i++)
{
int t = (int) (get (i1) - a.get (i2));
if (t != 0)
{
return (int) t;
}
}
return 0;
return remaining() - other.remaining();
}
/**