From: Bernhard Urban Date: Sat, 16 Jun 2012 17:39:48 +0000 (+0200) Subject: native: add VMSystem.arraycopy X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mate.git;a=commitdiff_plain;h=54cd74d726b0e145c9c8880185f6dda92412381b native: add VMSystem.arraycopy --- diff --git a/ffi/native.c b/ffi/native.c index 99d641c..57a688e 100644 --- a/ffi/native.c +++ b/ffi/native.c @@ -1,4 +1,6 @@ #include +#include +#include static char ascii(char s) { if(s < 0x20) return '.'; @@ -56,7 +58,7 @@ struct string { struct chararray { unsigned int length; - char str; + char *str; }; void java_io_PrintStream__printf_0___Ljava_lang_String__V @@ -106,3 +108,21 @@ void java_io_PrintStream__printf_5___Ljava_lang_String_Ljava_lang_Object_Ljava_l void gnu_classpath_VMSystemProperties__preInit___Ljava_util_Properties__V() { return; } + +void java_lang_VMSystem__arraycopy___Ljava_lang_Object_ILjava_lang_Object_II_V( + int len, int dest_start, struct chararray *dest, + int src_start, struct chararray *src) +#if 0 + /* original */ + struct chararray *src, int src_start, + struct chararray *dest, int dest_start, int len) +#endif +{ + /* TODO(bernhard): clean please... */ + memcpy(((char *) dest) + 4, ((char *) src) + 4 + src_start, len); + dest->length = len; +#if 0 + hexdump(src, len + 4); + hexdump(dest, len + 4); +#endif +}