in src/main/cpp/ide/nblauncher.cpp [396:423]
bool NbLauncher::findCacheDir(const char *str) {
logMsg("NbLauncher::findCacheDir()");
if (strncmp(str, HOME_TOKEN, strlen(HOME_TOKEN)) == 0) {
if (userHome.empty()) {
char *userProfile = getenv(ENV_USER_PROFILE);
if (userProfile) {
userHome = userProfile;
} else {
TCHAR userHomeChar[MAX_PATH];
if (FAILED(SHGetFolderPath(NULL, CSIDL_DESKTOP, NULL, 0, userHomeChar))) {
return false;
}
userHome = userHomeChar;
userHome.erase(userHome.rfind('\\'));
}
logMsg("User home: %s", userHome.c_str());
}
cacheDir = userHome + (str + strlen(HOME_TOKEN));
} else if (strncmp(str, DEFAULT_CACHEDIR_ROOT_TOKEN, strlen(DEFAULT_CACHEDIR_ROOT_TOKEN)) == 0) {
std::string s = std::string("Replacing ") + DEFAULT_CACHEDIR_ROOT_TOKEN;
logMsg(s.c_str());
cacheDir = getDefaultCacheDirRoot() + (str + strlen(DEFAULT_CACHEDIR_ROOT_TOKEN));
} else {
getDefaultCacheDirRoot();
cacheDir = str;
}
return true;
}