fix symbolic link file detection in etc (#4926)
Costa Tsaousis committed
Dec 6, 2018 at 01:02 UTC
7c5b00e02ce2d1ea6d84a7fc3b63de95d9b515cf
1 file changed
+11
-12
libnetdata/libnetdata.c
+11
-12
@@ -1380,7 +1380,8 @@ void recursive_config_double_dir_load(const char *user_path, const char *stock_p
1380
continue;
1381
}
1382
}
1383
- else if(de->d_type == DT_UNKNOWN || de->d_type == DT_REG || de->d_type == DT_LNK) {
1383
+
1384
+ if(de->d_type == DT_UNKNOWN || de->d_type == DT_REG || de->d_type == DT_LNK) {
1385
size_t len = strlen(de->d_name);
1386
if(path_is_file(udir, de->d_name) &&
1387
len > 5 && !strcmp(&de->d_name[len - 5], ".conf")) {
@@ -1388,13 +1389,11 @@ void recursive_config_double_dir_load(const char *user_path, const char *stock_p
1389
debug(D_HEALTH, "CONFIG calling callback for user file '%s'", filename);
1390
callback(filename, data);
1391
freez(filename);
1392
+ continue;
1393
}
1392
- else
1393
- debug(D_HEALTH, "CONFIG ignoring user-config file '%s/%s'", udir, de->d_name);
1394
- }
1395
- else {
1396
- debug(D_HEALTH, "CONFIG ignoring user-config file '%s/%s' with invalid type %d", udir, de->d_name, (int)de->d_type);
1394
}
1395
+
1396
+ debug(D_HEALTH, "CONFIG ignoring user-config file '%s/%s' of type %d", udir, de->d_name, (int)de->d_type);
1397
}
1398
1399
closedir(dir);
@@ -1428,7 +1427,8 @@ void recursive_config_double_dir_load(const char *user_path, const char *stock_p
1427
continue;
1428
}
1429
}
1431
- else if(de->d_type == DT_UNKNOWN || de->d_type == DT_REG || de->d_type == DT_LNK) {
1430
+
1431
+ if(de->d_type == DT_UNKNOWN || de->d_type == DT_REG || de->d_type == DT_LNK) {
1432
size_t len = strlen(de->d_name);
1433
if(path_is_file(sdir, de->d_name) && !path_is_file(udir, de->d_name) &&
1434
len > 5 && !strcmp(&de->d_name[len - 5], ".conf")) {
@@ -1436,13 +1436,12 @@ void recursive_config_double_dir_load(const char *user_path, const char *stock_p
1436
debug(D_HEALTH, "CONFIG calling callback for stock file '%s'", filename);
1437
callback(filename, data);
1438
freez(filename);
1439
+ continue;
1440
}
1440
- else
1441
- debug(D_HEALTH, "CONFIG ignoring stock config file '%s/%s'", sdir, de->d_name);
1442
- }
1443
- else {
1444
- debug(D_HEALTH, "CONFIG ignoring stock-config file '%s/%s' with invalid type %d", udir, de->d_name, (int)de->d_type);
1441
+
1442
}
1443
+
1444
+ debug(D_HEALTH, "CONFIG ignoring stock-config file '%s/%s' of type %d", udir, de->d_name, (int)de->d_type);
1445
}
1446
1447
closedir(dir);