1 jstring WindowsTojstring( JNIEnv* env, char* str )
2 {
3 jstring rtn = 0;
4 int slen = strlen(str);
5 unsigned short * buffer = 0;
6 if( slen == 0 )
7 rtn = (env)->NewStringUTF(str );
8 else
9 {
10 int length = MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, NULL, 0 );
11 buffer = (unsigned short *)malloc( length*2 + 1 );
12 if( MultiByteToWideChar( CP_ACP, 0, (LPCSTR)str, slen, (LPWSTR)buffer, length ) >0 )
13 rtn = (env)->NewString( (jchar*)buffer, length );
14 }
15 if( buffer )
16 free( buffer );
17 return rtn;
18 }
19 /*JNIEXPORT jstring JNICALL Java_test_cs_web_SWIFTAlianceCASmfTest_strcal
20 (JNIEnv *env, jclass obj, jstring jstr1, jstring jstr2)
21 {
22 jbyteArray bytes = 0;
23 jthrowable exc;
24 char *pszResult = NULL;
25 char *pszSTR1 = NULL;
26 char *pszSTR2 = NULL;
27
28 pszSTR1 = jstringTostring(env, jstr1);
29 pszSTR2 = jstringTostring(env, jstr2);
30
31
32 int nlen = sizeof(char)*(strlen(pszSTR1)+strlen(pszSTR2));
33 pszResult = (char*)malloc(nlen);
34 strcpy(pszResult, pszSTR1);
35 strcat(pszResult, pszSTR2);
36
37 jstring jstrRe = stoJstring(env, pszResult);
38 free(pszSTR1);
39 free(pszSTR2);
40 free(pszResult);
41 return(jstrRe);
42 }
43 */