1458 strv[i]) < 0) {
1459 return NULL;
1460 }
1461 JLI_TraceLauncher("%s\n", nargv[i]);
1462 }
1463
1464 if (!needs_expansion) {
1465 // clean up any allocated memory and return back the old arguments
1466 for (i = 0 ; i < argc ; i++) {
1467 JLI_MemFree(nargv[i]);
1468 }
1469 JLI_MemFree(nargv);
1470 return NewPlatformStringArray(env, strv, argc);
1471 }
1472 NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls,
1473 "expandArgs",
1474 "([Ljava/lang/String;)[Ljava/lang/String;"));
1475
1476 // expand the arguments that require expansion, the java method will strip
1477 // out the indicator character.
1478 inArray = NewPlatformStringArray(env, nargv, argc);
1479 outArray = (*env)->CallStaticObjectMethod(env, cls, mid, inArray);
1480 for (i = 0; i < argc; i++) {
1481 JLI_MemFree(nargv[i]);
1482 }
1483 JLI_MemFree(nargv);
1484 return outArray;
1485 }
|
1458 strv[i]) < 0) {
1459 return NULL;
1460 }
1461 JLI_TraceLauncher("%s\n", nargv[i]);
1462 }
1463
1464 if (!needs_expansion) {
1465 // clean up any allocated memory and return back the old arguments
1466 for (i = 0 ; i < argc ; i++) {
1467 JLI_MemFree(nargv[i]);
1468 }
1469 JLI_MemFree(nargv);
1470 return NewPlatformStringArray(env, strv, argc);
1471 }
1472 NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls,
1473 "expandArgs",
1474 "([Ljava/lang/String;)[Ljava/lang/String;"));
1475
1476 // expand the arguments that require expansion, the java method will strip
1477 // out the indicator character.
1478 NULL_CHECK0(inArray = NewPlatformStringArray(env, nargv, argc));
1479 outArray = (*env)->CallStaticObjectMethod(env, cls, mid, inArray);
1480 for (i = 0; i < argc; i++) {
1481 JLI_MemFree(nargv[i]);
1482 }
1483 JLI_MemFree(nargv);
1484 return outArray;
1485 }
|