diff options
author | Sam Ruby <rubys@php.net> | 2000-05-12 09:51:16 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 2000-05-12 09:51:16 +0000 |
commit | 33ceae28094b0c800fe39fa9d66313b3d687b21e (patch) | |
tree | 7b2f992485f2b9bd1fc91e5413dd4931601c171f /ext/java/java.c | |
parent | afedd22f19f59055d2574875db29f098004a1d67 (diff) | |
download | php-git-33ceae28094b0c800fe39fa9d66313b3d687b21e.tar.gz |
i18n, part I
Diffstat (limited to 'ext/java/java.c')
-rw-r--r-- | ext/java/java.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/java/java.c b/ext/java/java.c index b7c2a4dc06..2da4ac849c 100644 --- a/ext/java/java.c +++ b/ext/java/java.c @@ -263,7 +263,9 @@ static jobjectArray _java_makeArray(int argc, pval** argv) { for (i=0; i<argc; i++) { switch (argv[i]->type) { case IS_STRING: - arg=(*jenv)->NewStringUTF(jenv,argv[i]->value.str.val); + arg=(*jenv)->NewByteArray(jenv,argv[i]->value.str.len); + (*jenv)->SetByteArrayRegion(jenv,(jbyteArray)arg,0, + argv[i]->value.str.len, argv[i]->value.str.val); break; case IS_OBJECT: @@ -498,16 +500,16 @@ ZEND_GET_MODULE(java) /***************************************************************************/ JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromString - (JNIEnv *jenv, jclass self, jlong result, jstring value) + (JNIEnv *jenv, jclass self, jlong result, jbyteArray jvalue) { jboolean isCopy; - const char *valueAsUTF = (*jenv)->GetStringUTFChars(jenv, value, &isCopy); + jbyte *value = (*jenv)->GetByteArrayElements(jenv, jvalue, &isCopy); pval *presult = (pval*)(long)result; presult->type=IS_STRING; - presult->value.str.len=strlen(valueAsUTF); + presult->value.str.len=(*jenv)->GetArrayLength(jenv, jvalue); presult->value.str.val=emalloc(presult->value.str.len+1); - strcpy(presult->value.str.val, valueAsUTF); - if (isCopy) (*jenv)->ReleaseStringUTFChars(jenv, value, valueAsUTF); + strcpy(presult->value.str.val, value); + if (isCopy) (*jenv)->ReleaseByteArrayElements(jenv, jvalue, value, 0); } JNIEXPORT void JNICALL Java_net_php_reflect_setResultFromLong |