in src/main/cpp/ide/nblauncher.cpp [326:365]
bool NbLauncher::parseArgs(int argc, char *argv[]) {
#define CHECK_ARG \
if (i+1 == argc) {\
logErr(false, true, "Argument is missing for \"%s\" option.", argv[i]);\
return false;\
}
logMsg("parseArgs():");
for (int i = 0; i < argc; i++) {
logMsg("\t%s", argv[i]);
}
customUserDirFound = 0;
for (int i = 0; i < argc; i++) {
if (strcmp(ARG_NAME_USER_DIR, argv[i]) == 0) {
CHECK_ARG;
char tmp[MAX_PATH + 1] = {0};
strncpy(tmp, argv[++i], MAX_PATH);
if (!normalizePath(tmp, MAX_PATH)) {
logErr(false, true, "User directory path \"%s\" is not valid.", argv[i]);
return false;
}
customUserDirFound = 1;
userDir = tmp;
logMsg("User dir: %s", userDir.c_str());
}
if (strcmp(ARG_NAME_CACHE_DIR, argv[i]) == 0) {
CHECK_ARG;
char tmp[MAX_PATH + 1] = {0};
strncpy(tmp, argv[++i], MAX_PATH);
if (!normalizePath(tmp, MAX_PATH)) {
logErr(false, true, "Cache directory path \"%s\" is not valid.", argv[i]);
return false;
}
cacheDir = tmp;
logMsg("Cache dir: %s", cacheDir.c_str());
}
}
logMsg("parseArgs() finished");
return true;
}