in src/main/cpp/ide/nblauncher.cpp [367:394]
bool NbLauncher::findUserDir(const char *str) {
logMsg("NbLauncher::findUserDir()");
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());
}
userDir = userHome + (str + strlen(HOME_TOKEN));
} else if (strncmp(str, DEFAULT_USERDIR_ROOT_TOKEN, strlen(DEFAULT_USERDIR_ROOT_TOKEN)) == 0) {
std::string s = std::string("Replacing ") + DEFAULT_USERDIR_ROOT_TOKEN;
logMsg(s.c_str());
userDir = getDefaultUserDirRoot() + (str + strlen(DEFAULT_USERDIR_ROOT_TOKEN));
} else {
getDefaultUserDirRoot();
userDir = str;
}
return true;
}