25 //Get the String array from java |
25 //Get the String array from java |
26 int argc = env->GetArrayLength(strArray); |
26 int argc = env->GetArrayLength(strArray); |
27 char *argv[argc]; |
27 char *argv[argc]; |
28 jstring jstringArgv[argc]; |
28 jstring jstringArgv[argc]; |
29 for(int i = 0; i < argc; i++){ |
29 for(int i = 0; i < argc; i++){ |
30 jstringArgv[i] = (jstring)env->GetObjectArrayElement(strArray, i); //get the element |
30 jstringArgv[i] = (jstring)env->GetObjectArrayElement(strArray, i); //get the element |
31 argv[i] = (char*)malloc(env->GetStringUTFLength(jstringArgv[i]) + 1); |
31 argv[i] = (char*)malloc(env->GetStringUTFLength(jstringArgv[i]) + 1); |
32 const char *str = env->GetStringUTFChars(jstringArgv[i], NULL); |
32 const char *str = env->GetStringUTFChars(jstringArgv[i], NULL); |
33 strcpy(argv[i], str); //copy it to a mutable location |
33 strcpy(argv[i], str); //copy it to a mutable location |
34 env->ReleaseStringUTFChars(jstringArgv[i], str); |
34 env->ReleaseStringUTFChars(jstringArgv[i], str); |
35 } |
35 } |
36 |
36 |
37 /* Run the application code! */ |
37 /* Run the application code! */ |
38 int status = SDL_main(argc, argv); |
38 int status = SDL_main(argc, argv); |
39 |
39 |
40 //Clean up argv |
40 //Clean up argv |
41 for(int i = 0; i < argc; i++){ |
41 for(int i = 0; i < argc; i++){ |
42 free(argv[i]); |
42 free(argv[i]); |
43 } |
43 } |
44 } |
44 } |
45 |
45 |
46 /* vi: set ts=4 sw=4 expandtab: */ |
46 /* vi: set ts=4 sw=4 expandtab: */ |