diff options
author | Michael Koch <konqueror@gmx.de> | 2003-06-17 19:09:56 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-06-17 19:09:56 +0000 |
commit | 6f3aed57fb4258b97b6c068bd7aef10f45f272d5 (patch) | |
tree | 070d161eb50c6f132e76f98bbc8b9ada414dad0f /libjava/java/nio/natDirectByteBufferImpl.cc | |
parent | 67f63f32d59b22241faa6f3390757ce9535f8898 (diff) | |
download | gcc-6f3aed57fb4258b97b6c068bd7aef10f45f272d5.zip gcc-6f3aed57fb4258b97b6c068bd7aef10f45f272d5.tar.gz gcc-6f3aed57fb4258b97b6c068bd7aef10f45f272d5.tar.bz2 |
2003-06-17 Michael Koch <konqueror@gmx.de>
* java/nio/DirectByteBufferImpl.java
(address): Made package private.
(DirectByteBufferImpl): New constructor.
* java/nio/natDirectByteBufferImpl.cc
(allocateImpl): Moved to java.nio namespace, implemented.
(freeImpl): Likewise.
(getImpl): Likewise.
(putImpl): Likewise.
* jni.cc
(_Jv_JNI_NewDirectByteBuffer): Implemented.
(_Jv_JNI_GetDirectBufferAddress): Implemented.
(_Jv_JNI_GetDirectBufferCapacity): Implemented.
From-SVN: r68105
Diffstat (limited to 'libjava/java/nio/natDirectByteBufferImpl.cc')
-rw-r--r-- | libjava/java/nio/natDirectByteBufferImpl.cc | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libjava/java/nio/natDirectByteBufferImpl.cc b/libjava/java/nio/natDirectByteBufferImpl.cc index 8286390..2ceea17 100644 --- a/libjava/java/nio/natDirectByteBufferImpl.cc +++ b/libjava/java/nio/natDirectByteBufferImpl.cc @@ -13,33 +13,33 @@ details. */ #include <gcj/cni.h> #include <jvm.h> +#include <stdlib.h> + #include <gnu/gcj/RawData.h> #include <java/nio/DirectByteBufferImpl.h> gnu::gcj::RawData* -java::nio::DirectByteBufferImpl::allocateImpl (jint /*capacity*/) +java::nio::DirectByteBufferImpl::allocateImpl (jint capacity) { - // FIXME: implement this - return 0; + return reinterpret_cast<gnu::gcj::RawData*> (::malloc (capacity)); } void -java::nio::DirectByteBufferImpl::freeImpl (gnu::gcj::RawData* /*address*/) +java::nio::DirectByteBufferImpl::freeImpl (gnu::gcj::RawData* address) { - // FIXME: implement this + ::free (reinterpret_cast<void*> (address)); } jbyte -java::nio::DirectByteBufferImpl::getImpl (jint /*index*/) +java::nio::DirectByteBufferImpl::getImpl (jint index) { - // FIXME: implement this - // Dont forget: add offset to index - return 0; + jbyte* pointer = reinterpret_cast<jbyte*> (address) + offset + index; + return *pointer; } void -java::nio::DirectByteBufferImpl::putImpl (jint /*index*/, jbyte /*value*/) +java::nio::DirectByteBufferImpl::putImpl (jint index, jbyte value) { - // FIXME: implement this - // Dont forget: add offset to index + jbyte* pointer = reinterpret_cast<jbyte*> (address) + offset + index; + *pointer = value; } |