in src/main/cpp/ide/nblauncher.cpp [280:324]
bool NbLauncher::readClusterFile() {
clusters = "";
string clusterFile = baseDir + "\\etc\\" + getAppName() + ".clusters";
logMsg("readClusterFile() file: %s", clusterFile.c_str());
FILE* file = fopen(clusterFile.c_str(), "r");
if (!file) {
logErr(true, true, "Cannot open file \"%s\" for reading.", clusterFile.c_str());
return false;
}
char line[4096] = "";
while (fgets(line, sizeof(line), file)) {
char *str = skipWhitespaces(line);
if (*str == '#' || *str == '\0') {
continue;
}
char *pc = str;
while (*pc != '\0' && *pc != '\t' && *pc != '\n' && *pc != '\r') {
pc++;
}
*pc = '\0';
if (platformDir.empty()) {
char *slash = strrchr(str, '\\');
if (!slash) {
slash = strrchr(str, '/');
}
char *dir = slash ? slash + 1 : str;
if (strncmp(dir, "platform", strlen("platform")) == 0) {
platformDir = str;
} else {
addCluster(str);
}
} else {
addCluster(str);
}
}
bool ok = ferror(file) == 0;
if (!ok) {
logErr(true, true, "Error while reading file \"%s\".", clusterFile.c_str());
}
fclose(file);
return ok;
}