Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 81545 invoked from network); 19 Apr 2005 14:49:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 19 Apr 2005 14:49:47 -0000 Received: (qmail 35217 invoked by uid 500); 19 Apr 2005 14:49:29 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 35172 invoked by uid 500); 19 Apr 2005 14:49:29 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 35075 invoked by uid 99); 19 Apr 2005 14:49:28 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Tue, 19 Apr 2005 07:49:28 -0700 Received: (qmail 81332 invoked by uid 65534); 19 Apr 2005 14:49:27 -0000 Message-ID: <20050419144927.81331.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Tue, 19 Apr 2005 14:49:27 -0000 Subject: svn commit: r161901 - directory/network/trunk/src/java/org/apache/mina/common/ByteBuffer.java To: commits@directory.apache.org From: trustin@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Tue Apr 19 07:49:26 2005 New Revision: 161901 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D161901 Log: * Fixed: ByteBuffer.getString() throws BufferOverflowException instead of B= ufferUnderflowException * Fixed: ByteBuffer.getString() discards mark. Modified: directory/network/trunk/src/java/org/apache/mina/common/ByteBuffer.java Modified: directory/network/trunk/src/java/org/apache/mina/common/ByteBuffe= r=2Ejava URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/common/ByteBuffer.java?view=3Ddiff&r1=3D161900&r2=3D161901 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/common/ByteBuffer.java= (original) +++ directory/network/trunk/src/java/org/apache/mina/common/ByteBuffer.java= Tue Apr 19 07:49:26 2005 @@ -19,6 +19,7 @@ package org.apache.mina.common; =20 import java.nio.BufferOverflowException; +import java.nio.BufferUnderflowException; import java.nio.ByteOrder; import java.nio.CharBuffer; import java.nio.DoubleBuffer; @@ -914,11 +915,10 @@ { boolean utf16 =3D decoder.charset().name().startsWith( "UTF-16= " ); =20 + int oldPos =3D buf.position(); int oldLimit =3D buf.limit(); int end; =20 - buf.mark(); - if( !utf16 ) { while( buf.hasRemaining() ) @@ -960,7 +960,7 @@ } } =20 - buf.reset(); + buf.position( oldPos ); decoder.reset(); =20 int expectedLength =3D (int) ( buf.remaining() * decoder.avera= geCharsPerByte() ); @@ -1016,16 +1016,15 @@ } =20 int i; + int oldPos =3D buf.position(); int oldLimit =3D buf.limit(); int end =3D buf.position() + fieldSize; =20 if( oldLimit < end ) { - throw new BufferOverflowException(); + throw new BufferUnderflowException(); } =20 - buf.mark(); - if( !utf16 ) { for( i =3D 0; i < fieldSize; i ++ ) @@ -1065,7 +1064,7 @@ } } =20 - buf.reset(); + buf.position( oldPos ); decoder.reset(); =20 int expectedLength =3D (int) ( buf.remaining() * decoder.avera= geCharsPerByte() );