/* v1gcc.c -- calling intrinsics via JNI and gcc plus c89 */ #include #include "AskOp.h" JNIEXPORT void JNICALL Java_AskOp_printOp ( JNIEnv *jEnv, jobject this, jstring jMsg ) { const char *msg; msg = (*jEnv)->GetStringUTFChars(jEnv, jMsg, 0); c89_printop( msg, -strlen(msg), 0 ); (*jEnv)->ReleaseStringUTFChars(jEnv, jMsg, msg); } JNIEXPORT jstring JNICALL Java_AskOp_printOpReply ( JNIEnv *jEnv, jobject this, jstring jMsg ) { const char *msg; short len; char rep[32]; short got; msg = (*jEnv)->GetStringUTFChars(jEnv, jMsg, 0); /* limit message length passed to the intrinsic */ len = strlen(msg); if (len > 50) len = 50; got = c89_printopreply( msg, -len, rep, -31 ); /* terminate result string for C usage */ rep[got] = 0; return (*jEnv)->NewStringUTF(jEnv, rep); }