📄 natcoreinputstream.cc
字号:
// natCoreInputStream.cc -- C++ side of CoreInputStream/* Copyright (C) 2001 Free Software Foundation This file is part of libgcj.This software is copyrighted work licensed under the terms of theLibgcj License. Please consult the file "LIBGCJ_LICENSE" fordetails. *//* Author: Anthony Green <green@redhat.com>. */#include <config.h>#include <gcj/cni.h>#include <jvm.h>#include <string.h>#include <java/lang/NullPointerException.h>#include <java/lang/ArrayIndexOutOfBoundsException.h>#include <gnu/gcj/protocol/core/CoreInputStream.h>jintgnu::gcj::protocol::core::CoreInputStream::unsafeGetByte (jlong offset){ return ((char *)ptr)[offset];}jintgnu::gcj::protocol::core::CoreInputStream::copyIntoByteArray (jbyteArray dest, jint offset, jint numBytes){ if (! dest) throw new java::lang::NullPointerException; jsize destSize = JvGetArrayLength (dest); if (offset < 0 || numBytes < 0 || offset + numBytes < 0 || offset + numBytes > destSize || pos + numBytes > count) throw new java::lang::ArrayIndexOutOfBoundsException; void *pcore = (void *) &((char*)ptr)[pos]; void *pdest = (void *) (elements (dest) + offset); memcpy (pdest, pcore, numBytes); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -