Remove find_folder() API

Can be trivially replaced with ls()

v2: Move break where it's supposed to.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
pull/703/head
Emil Velikov 2 years ago
parent d75b4d972b
commit 2aa49caf52

@ -33,34 +33,6 @@ std::string get_basename(const std::string&& path)
} }
#ifdef __linux__ #ifdef __linux__
bool find_folder(const char* root, const char* prefix, std::string& dest)
{
struct dirent* dp;
DIR* dirp = opendir(root);
if (!dirp) {
SPDLOG_ERROR("Error opening directory '{}': {}", root, strerror(errno));
return false;
}
// XXX xfs/jfs need stat() for inode type
while ((dp = readdir(dirp))) {
if ((dp->d_type == DT_LNK || dp->d_type == DT_DIR) && starts_with(dp->d_name, prefix)) {
dest = dp->d_name;
closedir(dirp);
return true;
}
}
closedir(dirp);
return false;
}
bool find_folder(const std::string& root, const std::string& prefix, std::string& dest)
{
return find_folder(root.c_str(), prefix.c_str(), dest);
}
std::vector<std::string> ls(const char* root, const char* prefix, LS_FLAGS flags) std::vector<std::string> ls(const char* root, const char* prefix, LS_FLAGS flags)
{ {
std::vector<std::string> list; std::vector<std::string> list;

@ -12,8 +12,6 @@ enum LS_FLAGS
}; };
std::string read_line(const std::string& filename); std::string read_line(const std::string& filename);
bool find_folder(const char* root, const char* prefix, std::string& dest);
bool find_folder(const std::string& root, const std::string& prefix, std::string& dest);
std::vector<std::string> ls(const char* root, const char* prefix = nullptr, LS_FLAGS flags = LS_DIRS); std::vector<std::string> ls(const char* root, const char* prefix = nullptr, LS_FLAGS flags = LS_DIRS);
bool file_exists(const std::string& path); bool file_exists(const std::string& path);
bool dir_exists(const std::string& path); bool dir_exists(const std::string& path);

@ -3,16 +3,6 @@
#include <fstream> #include <fstream>
#include <string> #include <string>
bool find_folder(const char* root, const char* prefix, std::string& dest)
{
return false;
}
bool find_folder(const std::string& root, const std::string& prefix, std::string& dest)
{
return find_folder(root.c_str(), prefix.c_str(), dest);
}
std::vector<std::string> ls(const char* root, const char* prefix, LS_FLAGS flags) std::vector<std::string> ls(const char* root, const char* prefix, LS_FLAGS flags)
{ {
std::vector<std::string> list; std::vector<std::string> list;

@ -647,20 +647,20 @@ void init_gpu_stats(uint32_t& vendorID, uint32_t reported_deviceID, overlay_para
amdgpu.vram_used = fopen((path + "/mem_info_vram_used").c_str(), "r"); amdgpu.vram_used = fopen((path + "/mem_info_vram_used").c_str(), "r");
path += "/hwmon/"; path += "/hwmon/";
string tempFolder; auto dirs = ls(path.c_str(), "hwmon", LS_DIRS);
if (find_folder(path, "hwmon", tempFolder)) { for (auto& dir : dirs) {
if (!amdgpu.core_clock) if (!amdgpu.core_clock)
amdgpu.core_clock = fopen((path + tempFolder + "/freq1_input").c_str(), "r"); amdgpu.core_clock = fopen((path + dir + "/freq1_input").c_str(), "r");
if (!amdgpu.memory_clock) if (!amdgpu.memory_clock)
amdgpu.memory_clock = fopen((path + tempFolder + "/freq2_input").c_str(), "r"); amdgpu.memory_clock = fopen((path + dir + "/freq2_input").c_str(), "r");
if (!amdgpu.temp) if (!amdgpu.temp)
amdgpu.temp = fopen((path + tempFolder + "/temp1_input").c_str(), "r"); amdgpu.temp = fopen((path + dir + "/temp1_input").c_str(), "r");
if (!amdgpu.power_usage) if (!amdgpu.power_usage)
amdgpu.power_usage = fopen((path + tempFolder + "/power1_average").c_str(), "r"); amdgpu.power_usage = fopen((path + dir + "/power1_average").c_str(), "r");
vendorID = 0x1002; vendorID = 0x1002;
break;
} }
break;
} }
// don't bother then // don't bother then

Loading…
Cancel
Save