Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > 193665cc3e55a06f990e31ec956aee6b > files > 69

java-1.7.0-icedtea-devel-1.7.0.0-24.614.2mdv2008.1.x86_64.rpm

--- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Buffer.java	2007-10-30 04:36:08.000000000 -0400
+++ openjdk/jdk/src/share/classes/java/nio/Buffer.java	2007-11-13 13:33:28.000000000 -0500
@@ -235,8 +235,8 @@
         if ((newPosition > limit) || (newPosition < 0))
             throw new IllegalArgumentException();
         position = newPosition;
-        if (mark > position) mark = -1;
-        return this;
+        if (mark > position) clearMark();
+	return this;
     }
 
     /**
@@ -267,8 +267,8 @@
             throw new IllegalArgumentException();
         limit = newLimit;
         if (position > limit) position = limit;
-        if (mark > limit) mark = -1;
-        return this;
+        if (mark > position) clearMark();
+	return this;
     }
 
     /**
@@ -320,8 +320,8 @@
     public final Buffer clear() {
         position = 0;
         limit = capacity;
-        mark = -1;
-        return this;
+        clearMark();
+	return this;
     }
 
     /**
@@ -348,7 +348,7 @@
     public final Buffer flip() {
         limit = position;
         position = 0;
-        mark = -1;
+        clearMark();
         return this;
     }
 
@@ -369,7 +369,7 @@
      */
     public final Buffer rewind() {
         position = 0;
-        mark = -1;
+        clearMark();
         return this;
     }
 
@@ -548,4 +548,8 @@
             throw new IndexOutOfBoundsException();
     }
 
+    final void clearMark() {                            // package-private
+        mark = -1;
+    }
+
 }
--- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Direct-X-Buffer.java	2007-10-30 04:36:08.000000000 -0400
+++ openjdk/jdk/src/share/classes/java/nio/Direct-X-Buffer.java	2007-11-13 13:34:14.000000000 -0500
@@ -354,6 +354,7 @@
         unsafe.copyMemory(ix(pos), ix(0), rem << $LG_BYTES_PER_VALUE$);
         position(rem);
         limit(capacity());
+	clearMark();
         return this;
 #else[rw]
         throw new ReadOnlyBufferException();
--- ../openjdkb23/openjdk.old/jdk/src/share/classes/java/nio/Heap-X-Buffer.java	2007-10-30 04:36:08.000000000 -0400
+++ openjdk/jdk/src/share/classes/java/nio/Heap-X-Buffer.java	2007-11-13 13:34:27.000000000 -0500
@@ -222,6 +222,7 @@
         System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
         position(remaining());
         limit(capacity());
+	clearMark();
         return this;
 #else[rw]
         throw new ReadOnlyBufferException();