in src/main/cpp/launcher/windows/src/Launcher.c [875:934]
void freeLauncherProperties(LauncherProperties **props) {
if((*props)!=NULL) {
DWORD i=0;
writeMessageA(*props, OUTPUT_LEVEL_DEBUG, 0, "Closing launcher properties", 1);
freeWCHARList(& ( (*props)->appArguments));
freeWCHARList(& ( (*props)->jvmArguments));
FREE((*props)->mainClass);
FREE((*props)->testJVMClass);
FREE((*props)->classpath);
freeLauncherResourceList(&((*props)->jars));
freeLauncherResourceList(&((*props)->jvms));
freeLauncherResourceList(&((*props)->other));
freeLauncherResource(&((*props)->testJVMFile));
FREE((*props)->tmpDir);
for(i=0;i<(*props)->compatibleJavaNumber;i++) {
JavaCompatible * jc = (*props)->compatibleJava[i];
if(jc!=NULL) {
FREE(jc->minVersion);
FREE(jc->maxVersion);
FREE(jc->vendor);
FREE(jc->osName);
FREE(jc->osArch);
FREE((*props)->compatibleJava[i]);
}
}
freeStringList(&((*props)->alreadyCheckedJava));
FREE((*props)->compatibleJava);
freeJavaProperties(&((*props)->java));
FREE((*props)->userDefinedJavaHome);
FREE((*props)->userDefinedTempDir);
FREE((*props)->userDefinedExtractDir);
FREE((*props)->userDefinedOutput);
FREE((*props)->userDefinedLocale);
FREE((*props)->command);
FREE((*props)->exePath);
FREE((*props)->exeDir);
FREE((*props)->exeName);
FREE((*props)->bundledSize);
FREE((*props)->launcherSize);
freeSizedString(&((*props)->restOfBytes));
flushHandle((*props)->stdoutHandle);
flushHandle((*props)->stderrHandle);
CloseHandle((*props)->stdoutHandle);
CloseHandle((*props)->stderrHandle);
freeI18NMessages((*props));
freeWCHARList(& ((*props)->launcherCommandArguments));
freeWCHARList(& ((*props)->commandLine));
CloseHandle((*props)->handler);
FREE((*props));
}
return;
}