get rid of read to str

This commit is contained in:
2025-12-14 15:02:23 +01:00
parent a271711441
commit bc3f911f60
4 changed files with 9 additions and 16 deletions

View File

@@ -16,7 +16,8 @@ void detectHwmon(cpuSensors* target, std::string pci) {
log(LOG::ERR, "cpu::detectHwmon", "NO CPU HWMON KERNEL MODULE DETECTED");
return;
}
target->zenpower = readFileToStr((target->hwmon + "/name"), 128) == "zenpower";
target->zenpower = false; // we were using readFileToStr to figure this out, we dont f/w it anymore, find another way (see if hwmon/in1_input exists?)
log(LOG::INF, "cpu::detectHwmon", "Detected module \"{}\" in path \"{}\"", target->zenpower ? "zenpower" : "k10temp", target->hwmon);
}

View File

@@ -28,9 +28,10 @@ void sys::getTimeDate(TimeDate* td) {
}
void sys::getRam(Memory* mem) {
auto content = readFileToStr("/proc/meminfo", 128); // file is longer than that but its all we need
mem->free = getVal("MemAvailable:", content);
mem->total = getVal("MemTotal:", content);
static char buf[128]; // file is longer but we only need first 128 chars
readFile("/proc/meminfo", buf, sizeof(buf));
mem->free = getVal("MemAvailable:", std::string_view(buf));
mem->total = getVal("MemTotal:", std::string_view(buf));
mem->used = mem->total - mem->free;
}

View File

@@ -59,15 +59,7 @@ ssize_t readFile(std::string path, char* buffer, size_t maxlen) {
return readFile(path.c_str(), buffer, maxlen);
}
std::string readFileToStr(std::string path, size_t trim) {
char* buf = new char[trim + 2];
ssize_t len = readFile(path, buf, trim + 2);
std::string out(buf);
delete[] buf;
if (!len) return "0";
return out.substr(0, len - 1);
}
/* finds first dir in path and returns it*/
std::string getFirstDir(std::string_view path) {
for (const auto& entry : std::filesystem::directory_iterator(path))
return entry.path();