提交 b6fb79dc 编写于 作者: B Bomin Zhang

fix td-900: support both config dir & file

上级 dd703941
...@@ -308,38 +308,47 @@ bool taosReadGlobalCfg() { ...@@ -308,38 +308,47 @@ bool taosReadGlobalCfg() {
sprintf(fileName, "%s/taos.cfg", configDir); sprintf(fileName, "%s/taos.cfg", configDir);
FILE* fp = fopen(fileName, "r"); FILE* fp = fopen(fileName, "r");
if (fp == NULL) {
struct stat s;
if (stat(configDir, &s) != 0 || (!S_ISREG(s.st_mode) && !S_ISLNK(s.st_mode))) {
//return true to follow behavior before file support
return true;
}
fp = fopen(configDir, "r");
if (fp == NULL) {
return false;
}
}
size_t len = 1024; size_t len = 1024;
line = calloc(1, len); line = calloc(1, len);
if (fp != NULL) { while (!feof(fp)) {
while (!feof(fp)) { memset(line, 0, len);
memset(line, 0, len);
option = value = NULL;
olen = vlen = 0;
getline(&line, &len, fp); option = value = NULL;
line[len - 1] = 0; olen = vlen = 0;
paGetToken(line, &option, &olen);
if (olen == 0) continue;
option[olen] = 0;
paGetToken(option + olen + 1, &value, &vlen); getline(&line, &len, fp);
if (vlen == 0) continue; line[len - 1] = 0;
value[vlen] = 0;
paGetToken(line, &option, &olen);
if (olen == 0) continue;
option[olen] = 0;
// For dataDir, the format is: paGetToken(option + olen + 1, &value, &vlen);
// dataDir /mnt/disk1 0 if (vlen == 0) continue;
paGetToken(value + vlen + 1, &value1, &vlen1); value[vlen] = 0;
taosReadConfigOption(option, value);
}
fclose(fp); // For dataDir, the format is:
// dataDir /mnt/disk1 0
paGetToken(value + vlen + 1, &value1, &vlen1);
taosReadConfigOption(option, value);
} }
fclose(fp);
tfree(line); tfree(line);
return true; return true;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册