This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: FYI: fix permission problem in String


I'm checking this in on the trunk.

This fixes the package-private permission problem in String.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
	New method.
	Include gnu/gcj/runtime/StringBuffer.h.
	* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
	native method.
	(String(gnu.gcj.runtime.StringBuffer)): Use it.

Index: java/lang/String.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/lang/String.java,v
retrieving revision 1.23
diff -u -r1.23 String.java
--- java/lang/String.java 31 Mar 2003 01:03:21 -0000 1.23
+++ java/lang/String.java 28 Jul 2003 15:58:51 -0000
@@ -419,7 +419,7 @@
   {
     // No need to synchronize or mark the buffer, since we know it is
     // only used once.
-    init (buffer.value, 0, buffer.count, true);
+    init (buffer);
   }
 
   /**
@@ -1253,5 +1253,6 @@
   private native void init(byte[] chars, int hibyte, int offset, int count);
   private native void init(byte[] chars, int offset, int count, String enc)
     throws UnsupportedEncodingException;
+  private native void init(gnu.gcj.runtime.StringBuffer buffer);
   private static native void rehash();
 }
Index: java/lang/natString.cc
===================================================================
RCS file: /cvs/gcc/gcc/libjava/java/lang/natString.cc,v
retrieving revision 1.30
diff -u -r1.30 natString.cc
--- java/lang/natString.cc 7 Jun 2003 18:34:59 -0000 1.30
+++ java/lang/natString.cc 28 Jul 2003 15:58:51 -0000
@@ -28,6 +28,7 @@
 #include <java/util/Locale.h>
 #include <gnu/gcj/convert/UnicodeToBytes.h>
 #include <gnu/gcj/convert/BytesToUnicode.h>
+#include <gnu/gcj/runtime/StringBuffer.h>
 #include <jvm.h>
 
 static void unintern (jobject);
@@ -523,6 +524,12 @@
   this->data = array;
   this->boffset = (char *) elements (array) - (char *) array;
   this->count = outpos;
+}
+
+void
+java::lang::String::init (gnu::gcj::runtime::StringBuffer *buffer)
+{
+  init (buffer->value, 0, buffer->count, true);
 }
 
 jboolean


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]