+// Copyright 2002 Adam Megacz, see the COPYING file for licensing [LGPL]
+
+// Inclusions /////////////////////////////////////////////////////////
+
+#include <gcj/cni.h>
+#include <gcj/array.h>
extern "C" {
#include <stdlib.h>
#include <stdio.h>
#include <setjmp.h>
#include "jpeglib.h"
}
-#include <gcj/cni.h>
-#include <gcj/array.h>
-
-#include <java/lang/RuntimeException.h>
+#include <org/xwt/plat/GCJ.h>
#include <java/io/InputStream.h>
+#include <java/io/ByteArrayInputStream.h>
+#include <java/lang/RuntimeException.h>
#include <org/xwt/plat/GCJ.h>
#include <org/xwt/plat/GCJ$JPEG.h>
+
+
+// JPEG ////////////////////////////////////////////////////////////////
+
#define INPUT_BUF_SIZE (1024 * 16)
typedef struct {
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); }