* src/vm/string.c, src/vm/stringlocal.h (java_string_new_char):
authoredwin <none@none>
Fri, 5 May 2006 14:36:18 +0000 (14:36 +0000)
committeredwin <none@none>
Fri, 5 May 2006 14:36:18 +0000 (14:36 +0000)
Renamed to `java_string_new_from_ascii` to make more clear what this
function does. It is wrong to use this function to create a
java.lang.String from a buffer of UTF-8 characters!

* src/vm/finalizer.c (finalizer_start_thread): Legitimate use.
* src/vm/jit/profile/profile.c (profile_start_thread): Likewise.

* src/vm/exceptions.c
(exceptions_new_linkageerror): Definitely INCORRECT use.
(exceptions_new_nosuchmethoderror): Likewise.
* src/native/vm/VMRuntime.c
(Java_java_lang_VMRuntime_mapLibraryName): Likewise.

* src/vm/exceptions.c (new_exception_message): Probably INCORRECT use.
* src/native/jni.c (DefineClass): Likewise.
(ThrowNew): Likewise.
* src/native/vm/VMClassLoader.c
(Java_java_lang_VMClassLoader_nativeGetResources): Likewise.

* src/vm/properties.c (properties_system_add): Needs review.
* src/cacao/cacao.c (getmainclassnamefromjar): Likewise.
* src/native/jvmti/cacaodbg.c (setup_jdwp_thread): Likewise.
* src/native/jvmti/jvmti.c (CreateRawMonitor, GetSystemProperty)
(SetSystemProperty): Likewise.

12 files changed:
src/cacao/cacao.c
src/native/jni.c
src/native/jvmti/cacaodbg.c
src/native/jvmti/jvmti.c
src/native/vm/VMClassLoader.c
src/native/vm/VMRuntime.c
src/vm/exceptions.c
src/vm/finalizer.c
src/vm/jit/profile/profile.c
src/vm/properties.c
src/vm/string.c
src/vm/stringlocal.h

index 36aa2d9e549c6063224f4fb98db73dcb7f2a87cd..27e3f30d6be0d5957c6687c795b51d104f5a8ee8 100644 (file)
@@ -31,7 +31,7 @@
             Philipp Tomsich
             Christian Thalinger
 
-   $Id: cacao.c 4837 2006-04-25 15:31:17Z edwin $
+   $Id: cacao.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -111,7 +111,7 @@ static char *getmainclassnamefromjar(char *mainstring)
        if (!m)
                throw_main_exception_exit();
 
-       s = javastring_new_char(mainstring);
+       s = javastring_new_from_ascii(mainstring);
 
        (void) vm_call_method(m, o, s);
 
@@ -167,7 +167,7 @@ static char *getmainclassnamefromjar(char *mainstring)
        if (!m)
                throw_main_exception_exit();
 
-       s = javastring_new_char("Main-Class");
+       s = javastring_new_from_ascii("Main-Class");
 
        o = vm_call_method(m, o, s);
 
index 54b89085d7e07f246a84e9ee7fe6ebaf1e066acc..ad056fe88e7ea9c7c6907bdadd4efcd225b27b08 100644 (file)
@@ -32,7 +32,7 @@
             Christian Thalinger
                        Edwin Steiner
 
-   $Id: jni.c 4854 2006-04-27 23:03:37Z twisti $
+   $Id: jni.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -1075,7 +1075,7 @@ jclass DefineClass(JNIEnv *env, const char *name, jobject loader,
        STATISTICS(jniinvokation());
 
        cl = (java_lang_ClassLoader *) loader;
-       s = javastring_new_char(name);
+       s = javastring_new_from_ascii(name);
        ba = (java_bytearray *) buf;
 
        c = (jclass) Java_java_lang_VMClassLoader_defineClass(env, NULL, cl, s, ba,
@@ -1220,7 +1220,7 @@ jint ThrowNew(JNIEnv* env, jclass clazz, const char *msg)
 
        STATISTICS(jniinvokation());
 
-       s = (java_lang_String *) javastring_new_char(msg);
+       s = (java_lang_String *) javastring_new_from_ascii(msg);
 
        /* instantiate exception object */
 
index 3cfeb2a40e9059038eb0625f62787dd441172b71..04792739cad6b32ba46a887e59a548d8a4071009 100644 (file)
@@ -450,7 +450,7 @@ static void setup_jdwp_thread(char* transport) {
             class_java_lang_Object,
             false);
 
-       s = javastring_new_char(&transport[1]);
+       s = javastring_new_from_ascii(&transport[1]);
 
        vm_call_method(m,o,s);
 
index d4e673d4ff1f1eb02c4439bf7037ec45b4b807ea..b2afcadec2f6a67faa38b48fb75861454b6a4343 100644 (file)
@@ -30,7 +30,7 @@
    Changes: Edwin Steiner
 
    
-   $Id: jvmti.c 4661 2006-03-21 00:04:59Z motse $
+   $Id: jvmti.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -1403,7 +1403,7 @@ CreateRawMonitor (jvmtiEnv * env, const char *name,
                return JVMTI_ERROR_NULL_POINTER;
 
 #if defined(USE_THREADS) && defined(NATIVE_THREADS)
-       monitor->name=javastring_new_char(name);
+       monitor->name=javastring_new_from_ascii(name);
 #else
        log_text ("CreateRawMonitor not supported");
 #endif
@@ -3597,7 +3597,7 @@ GetSystemProperty (jvmtiEnv * env, const char *property, char **value_ptr)
     if (!mid) throw_main_exception_exit();
 
     obj = (java_objectheader*)_Jv_JNINativeInterface.CallObjectMethod(
-        NULL, sysprop, mid, javastring_new_char(property));
+        NULL, sysprop, mid, javastring_new_from_ascii(property));
     if (!obj) return JVMTI_ERROR_NOT_AVAILABLE;
 
     ch = javastring_tochar(obj);
@@ -3647,7 +3647,7 @@ SetSystemProperty (jvmtiEnv * env, const char *property, const char *value)
     if (!mid) throw_main_exception_exit();
 
     _Jv_JNINativeInterface.CallObjectMethod(
-        NULL, sysprop, mid, javastring_new_char(property),javastring_new_char(value));
+        NULL, sysprop, mid, javastring_new_from_ascii(property),javastring_new_from_ascii(value));
     
     return JVMTI_ERROR_NONE;
 }
index 24646d9cb0a2403fb615ae7e1a78ba4507d72413..938efef99aa5b7e8c00553c72acd5483fe0a2628 100644 (file)
@@ -30,7 +30,7 @@
             Christian Thalinger
             Edwin Steiner
 
-   $Id: VMClassLoader.c 4872 2006-05-05 13:48:25Z edwin $
+   $Id: VMClassLoader.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -373,7 +373,7 @@ JNIEXPORT java_util_Vector* JNICALL Java_java_lang_VMClassLoader_nativeGetResour
                                tmppath = MNEW(char, pathlen);
 
                                sprintf(tmppath, "jar:file://%s!/%s", lce->path, charname);
-                               path = javastring_new_char(tmppath),
+                               path = javastring_new_from_ascii(tmppath),
 
                                MFREE(tmppath, char, pathlen);
                        }
@@ -390,7 +390,7 @@ JNIEXPORT java_util_Vector* JNICALL Java_java_lang_VMClassLoader_nativeGetResour
 
                        if (stat(tmppath + strlen("file://") - 1, &buf) == 0)
                                if (!S_ISDIR(buf.st_mode))
-                                       path = javastring_new_char(tmppath);
+                                       path = javastring_new_from_ascii(tmppath);
 
                        MFREE(tmppath, char, pathlen);
 #if defined(ENABLE_ZLIB)
index 4d27aed3c7cea6024955e6096b2000310e060274..fe4a3efff031527332413d91f8c6853b5efbdc9b 100644 (file)
@@ -29,7 +29,7 @@
    Changes: Joseph Wenninger
             Christian Thalinger
 
-   $Id: VMRuntime.c 4872 2006-05-05 13:48:25Z edwin $
+   $Id: VMRuntime.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -368,7 +368,7 @@ JNIEXPORT java_lang_String* JNICALL Java_java_lang_VMRuntime_mapLibraryName(JNIE
        strcat(buffer, ".so");
 #endif
 
-       s = javastring_new_char(buffer);
+       s = javastring_new_from_ascii(buffer);
 
        /* release memory */
 
index 09219d9bc4c351db98786eef4e8c2a236a0b1884..4733fdcee457d5d0c17a596eee70f00d6c0636cb 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes: Edwin Steiner
 
-   $Id: exceptions.c 4872 2006-05-05 13:48:25Z edwin $
+   $Id: exceptions.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -349,7 +349,7 @@ java_objectheader *new_exception_message(const char *classname,
        if (!(c = load_class_bootstrap(utf_new_char(classname))))
                return *exceptionptr;
 
-       o = native_new_and_init_string(c, javastring_new_char(message));
+       o = native_new_and_init_string(c, javastring_new_from_ascii(message));
 
        if (!o)
                return *exceptionptr;
@@ -683,7 +683,7 @@ java_objectheader *exceptions_new_linkageerror(const char *message,
        }
 
        o = native_new_and_init_string(class_java_lang_LinkageError,
-                                                                  javastring_new_char(msg));
+                                                                  javastring_new_from_ascii(msg));
 
        /* free memory */
 
@@ -723,7 +723,7 @@ java_objectheader *exceptions_new_nosuchmethoderror(classinfo *c,
        utf_strcat(msg, desc);
 
        o = native_new_and_init_string(class_java_lang_NoSuchMethodError,
-                                                                  javastring_new_char(msg));
+                                                                  javastring_new_from_ascii(msg));
 
        /* free memory */
 
index 0c662ea2d41dc50e2c91be0f4f762ceb63572bea..b0ac3c91dbb6050b8aa9e3c92cc5bceda1cbccfe 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: finalizer.c 4559 2006-03-05 23:24:50Z twisti $
+   $Id: finalizer.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -136,7 +136,7 @@ bool finalizer_start_thread(void)
        t = (java_lang_Thread *) builtin_new(class_java_lang_Thread);
 
        t->vmThread = finalizer_vmthread;
-       t->name     = javastring_new_char("Finalizer");
+       t->name     = javastring_new_from_ascii("Finalizer");
        t->daemon   = true;
        t->priority = 5;
 
index 7009dde52d2e9b436608138a276434269f31ee17..39abef475ae51458669f461b443d91aecc8230a8 100644 (file)
@@ -150,7 +150,7 @@ bool profile_start_thread(void)
        t = (java_lang_Thread *) builtin_new(class_java_lang_Thread);
 
        t->vmThread = profile_vmthread;
-       t->name     = javastring_new_char("Profiling Sampler");
+       t->name     = javastring_new_from_ascii("Profiling Sampler");
        t->daemon   = true;
        t->priority = 5;
 
index 86e9e97925619bb2bd46c355a3af983b5bb3e295..c10741b506ca23dd39f638a32c8d63ba60d15b27 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: properties.c 4559 2006-03-05 23:24:50Z twisti $
+   $Id: properties.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -166,8 +166,8 @@ void properties_system_add(char *key, char *value)
        java_lang_String *k;
        java_lang_String *v;
 
-       k = javastring_new_char(key);
-       v = javastring_new_char(value);
+       k = javastring_new_from_ascii(key);
+       v = javastring_new_from_ascii(value);
 
        (void) vm_call_method(mput, (java_objectheader *) psystem, k, v);
 }
index aa4c3c65048ecded80fba801001d0af6e653abad..9e230fb89842a2788006e416400899b373e3a7de 100644 (file)
@@ -30,7 +30,7 @@
 
    Changes: Christian Thalinger
 
-   $Id: string.c 4872 2006-05-05 13:48:25Z edwin $
+   $Id: string.c 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -361,16 +361,21 @@ java_lang_String *javastring_new_slash_to_dot(utf *u)
 }
 
 
-/* javastring_new_char *********************************************************
+/* javastring_new_from_ascii ***************************************************
 
-   creates a new java/lang/String object which contains the convertet
-   C-string passed via text.
+   creates a new java/lang/String object which contains the given ASCII
+   C-string converted to UTF-16.
 
-   return: the object pointer or NULL if memory is exhausted.
+   IN:
+      text.........string of ASCII characters
+
+   RETURN VALUE:
+      the java.lang.String object, or 
+      NULL if an exception has been thrown.
 
 *******************************************************************************/
 
-java_lang_String *javastring_new_char(const char *text)
+java_lang_String *javastring_new_from_ascii(const char *text)
 {
        s4 i;
        s4 len;                             /* length of the string               */
index 4d1b419cb9d1f37ceb367e0f8590f8068baf5077..3ce6775b497c662bebfe6c210058543367554d9e 100644 (file)
@@ -28,7 +28,7 @@
 
    Changes:
 
-   $Id: stringlocal.h 4566 2006-03-07 10:36:42Z twisti $
+   $Id: stringlocal.h 4874 2006-05-05 14:36:18Z edwin $
 
 */
 
@@ -128,7 +128,7 @@ java_lang_String *javastring_new(utf *text);
 java_lang_String *javastring_new_slash_to_dot(utf *text);
 
 /* creates a new object of type java/lang/String from a c-string */
-java_lang_String *javastring_new_char(const char *text);
+java_lang_String *javastring_new_from_ascii(const char *text);
 
 /* make c-string from a javastring (debugging) */
 char *javastring_tochar(java_objectheader *s);