From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30535 invoked by alias); 7 May 2008 19:33:16 -0000 Received: (qmail 30495 invoked by uid 367); 7 May 2008 19:33:11 -0000 Date: Wed, 07 May 2008 19:33:00 -0000 Message-ID: <20080507193311.30480.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Wrap more JNI methods. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d6e58e873c2a28bb791952ebf8642254419fa689 X-Git-Newrev: 950427efc84e11335d06d189e8001b0673513824 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00196.txt.bz2 The branch, master has been updated via 950427efc84e11335d06d189e8001b0673513824 (commit) from d6e58e873c2a28bb791952ebf8642254419fa689 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 950427efc84e11335d06d189e8001b0673513824 Author: Andrew Cagney Date: Wed May 7 15:32:07 2008 -0400 Wrap more JNI methods. frysk-sys/frysk/jnixx/ChangeLog 2008-05-07 Andrew Cagney * jnixx.hxx (getStringUTFLength): New. (getStringUTFRegion): New. ----------------------------------------------------------------------- Summary of changes: frysk-sys/frysk/jnixx/ChangeLog | 3 +++ frysk-sys/frysk/jnixx/jnixx.hxx | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 0 deletions(-) First 500 lines of diff: diff --git a/frysk-sys/frysk/jnixx/ChangeLog b/frysk-sys/frysk/jnixx/ChangeLog index 5635f2c..373d244 100644 --- a/frysk-sys/frysk/jnixx/ChangeLog +++ b/frysk-sys/frysk/jnixx/ChangeLog @@ -1,5 +1,8 @@ 2008-05-07 Andrew Cagney + * jnixx.hxx (getStringUTFLength): New. + (getStringUTFRegion): New. + * Printer.java: Parameterize with PrintWriter. * Main.java: Flush the Printer. * PrintDeclarations.java: Generate classes that extend either diff --git a/frysk-sys/frysk/jnixx/jnixx.hxx b/frysk-sys/frysk/jnixx/jnixx.hxx index 2330667..c5f5d9d 100644 --- a/frysk-sys/frysk/jnixx/jnixx.hxx +++ b/frysk-sys/frysk/jnixx/jnixx.hxx @@ -155,6 +155,40 @@ public: } } + jint getStringUTFLength(java::lang::String string) { + jint length = jniEnv->GetStringUTFLength((jstring) (string._object)); + // Cannot fail? + return length; + } + + void getStringUTFRegion(java::lang::String string, jsize start, + jsize len, char *buf) { + jniEnv->GetStringUTFRegion((jstring) (string._object), start, len, buf); + if (jniEnv->ExceptionCheck()) { + fprintf(stderr, + "frysk: JNIEnv.GetStringUTFRegion(%p,%d,%d,%p) failed\n", + string._object, (int) start, (int) len, buf); + throw jnixx::exception(); + } + } + + jint getStringLength(java::lang::String string) { + jint length = jniEnv->GetStringLength((jstring) (string._object)); + // Cannot fail? + return length; + } + + void getStringRegion(java::lang::String string, jsize start, + jsize len, jchar *buf) { + jniEnv->GetStringRegion((jstring) (string._object), start, len, buf); + if (jniEnv->ExceptionCheck()) { + fprintf(stderr, + "frysk: JNIEnv.GetStringRegion(%p,%d,%d,%p) failed\n", + string._object, (int) start, (int) len, buf); + throw jnixx::exception(); + } + } + jmethodID getMethodID(jclass klass, const char name[], const char signature[]) { jmethodID methodID = jniEnv->GetMethodID(klass, name, signature); hooks/post-receive -- frysk system monitor/debugger