Commit baa288f3 by Tom Tromey Committed by Tom Tromey

natString.cc (getBytes): Reverted earlier change and applied correct fix from Per Bothner.

	* java/lang/natString.cc (getBytes): Reverted earlier change and
	applied correct fix from Per Bothner.

From-SVN: r26579
parent 5423609c
1999-04-21 Tom Tromey <tromey@cygnus.com> 1999-04-21 Tom Tromey <tromey@cygnus.com>
* java/lang/natString.cc (getBytes): Reverted earlier change and
applied correct fix from Per Bothner.
* java/lang/String.java: Don't throw * java/lang/String.java: Don't throw
UnsupportedEncodingException. UnsupportedEncodingException.
......
...@@ -473,9 +473,11 @@ java::lang::String::getBytes (jstring enc) ...@@ -473,9 +473,11 @@ java::lang::String::getBytes (jstring enc)
{ {
converter->setOutput(buffer, bufpos); converter->setOutput(buffer, bufpos);
int converted = converter->write(this, offset, todo, NULL); int converted = converter->write(this, offset, todo, NULL);
bufpos = converter->count;
if (converted == 0) if (converted == 0)
{ {
jbyteArray newbuffer = JvNewByteArray(2 * buflen); buflen *= 2;
jbyteArray newbuffer = JvNewByteArray(buflen);
memcpy (elements (newbuffer), elements (buffer), bufpos); memcpy (elements (newbuffer), elements (buffer), bufpos);
buffer = newbuffer; buffer = newbuffer;
} }
...@@ -487,8 +489,8 @@ java::lang::String::getBytes (jstring enc) ...@@ -487,8 +489,8 @@ java::lang::String::getBytes (jstring enc)
} }
if (bufpos == buflen) if (bufpos == buflen)
return buffer; return buffer;
jbyteArray result = JvNewByteArray(buflen); jbyteArray result = JvNewByteArray(bufpos);
memcpy (elements (result), elements (buffer), buflen); memcpy (elements (result), elements (buffer), bufpos);
return result; return result;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment