#include <gcj/cni.h>
#include <gcj/array.h>
extern "C" {
+
+// hack for broken Solaris headers
+#define _WCHAR_T
+
#include <stdlib.h>
#include <stdio.h>
#include <setjmp.h>
#include "jpeglib.h"
}
-#include <org/xwt/util/JSObject.h>
#include <org/xwt/plat/GCJ.h>
#include <java/io/InputStream.h>
#include <java/io/ByteArrayInputStream.h>
// builtin.xwar /////////////////////////////////////////////////////////
-extern unsigned char builtin_xwar[];
-extern int builtin_xwar_length;
+extern unsigned char builtin_bytes[];
+extern int builtin_length;
java::io::InputStream* org::xwt::plat::GCJ::_getBuiltinInputStream() {
- jbyteArray ret = JvNewByteArray(builtin_xwar_length);
- memcpy(elements(ret), builtin_xwar, builtin_xwar_length);
+ jbyteArray ret = JvNewByteArray(builtin_length);
+ memcpy(elements(ret), builtin_bytes, builtin_length);
return new java::io::ByteArrayInputStream(ret);
}
-
+
// JPEG ////////////////////////////////////////////////////////////////
jpeg_destroy_decompress(&cinfo);
}
+// C++ new/delete operators (JvMalloc never fails)
+void* operator new(size_t size) { return JvMalloc(size); }
+void* operator new[](size_t size) { return JvMalloc(size);}
+void operator delete(void *p) { JvFree(p); }
+void operator delete[](void *p) { JvFree(p); }