2007-03-09 Jonathan Chambers <joncham@gmail.com>
[mono.git] / mono / metadata / string-icalls.c
index 4d8086917029cbffc946a4006ca4dfad8aaca064..71bd1f7ebe0f84a29f8570e354c3669b487aec17 100644 (file)
@@ -18,7 +18,6 @@
 #include <mono/metadata/tabledefs.h>
 #include <mono/metadata/loader.h>
 #include <mono/metadata/object.h>
-#include <mono/metadata/unicode.h>
 #include <mono/metadata/exception.h>
 #include <mono/metadata/debug-helpers.h>
 
@@ -64,11 +63,10 @@ ves_icall_System_String_ctor_charp (gpointer dummy, gunichar2 *value)
        domain = mono_domain_get ();
 
        if (value == NULL)
-               length = 0;
-       else {
-               for (i = 0; *(value + i) != '\0'; i++);
-               length = i;
-       }
+               return empty_string (domain);
+
+       for (i = 0; *(value + i) != '\0'; i++);
+       length = i;
 
        return mono_string_new_utf16 (domain, value, length);
 }
@@ -239,6 +237,14 @@ ves_icall_System_String_ctor_encoding (gpointer dummy, gint8 *value, gint32 sind
        return s;
 }
 
+/* This function is redirected to String.CreateString ()
+   by mono_marshal_get_native_wrapper () */
+void
+ves_icall_System_String_ctor_RedirectToCreateString (void)
+{
+       g_assert_not_reached ();
+}
+
 MonoString * 
 ves_icall_System_String_InternalJoin (MonoString *separator, MonoArray * value, gint32 sindex, gint32 count)
 {