]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
natString.cc (getBytes): Reverted earlier change and applied correct fix from Per...
authorTom Tromey <tromey@cygnus.com>
Wed, 21 Apr 1999 13:50:39 +0000 (13:50 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Wed, 21 Apr 1999 13:50:39 +0000 (13:50 +0000)
* java/lang/natString.cc (getBytes): Reverted earlier change and
applied correct fix from Per Bothner.

From-SVN: r26579

libjava/ChangeLog
libjava/java/lang/natString.cc

index b2b035418ce6e045fb640521d85eebc96155bcc8..da93b9cc83141e574cc71973d42ab6565c778f55 100644 (file)
@@ -1,5 +1,8 @@
 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
        UnsupportedEncodingException.
 
index cbd36bb3f97fe22f1faf4d8f2125016d8368da5c..08f1755715dadaf7f90c3b913b441626a6a46e54 100644 (file)
@@ -473,9 +473,11 @@ java::lang::String::getBytes (jstring enc)
     {
       converter->setOutput(buffer, bufpos);
       int converted = converter->write(this, offset, todo, NULL);
+      bufpos = converter->count;
       if (converted == 0)
        {
-         jbyteArray newbuffer = JvNewByteArray(2 * buflen);
+         buflen *= 2;
+         jbyteArray newbuffer = JvNewByteArray(buflen);
          memcpy (elements (newbuffer), elements (buffer), bufpos);
          buffer = newbuffer;
        }
@@ -487,8 +489,8 @@ java::lang::String::getBytes (jstring enc)
     }
   if (bufpos == buflen)
     return buffer;
-  jbyteArray result = JvNewByteArray(buflen);
-  memcpy (elements (result), elements (buffer), buflen);
+  jbyteArray result = JvNewByteArray(bufpos);
+  memcpy (elements (result), elements (buffer), bufpos);
   return result;
 }