get rid of read to str
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
|
||||
#define FILL_CHAR ' '
|
||||
|
||||
// wrapper around readFile func so we can avoid readFileToStr and reuse one buffer, this should be faster and less bug prone?
|
||||
#define fastReadNum(path, val) readFile(path, buf, sizeof(buf)); val = strtoll(buf, NULL, 10)
|
||||
// wrapper around readFile func
|
||||
#define fastReadNum(path, val) readFile(path, buf, sizeof(buf)); val = std::strtoll(buf, NULL, 10)
|
||||
|
||||
enum JUST {
|
||||
RIGHT,
|
||||
@@ -21,7 +21,6 @@ inline std::string pNum(auto num, uint8_t decs = 0) { return std::format("{:.{}f
|
||||
std::string pad(std::string s, uint8_t len, JUST j = JUST::RIGHT);
|
||||
std::string center(std::string str, uint8_t len);
|
||||
std::string pBytes(double bytes, bool isKbytes = false);
|
||||
std::string readFileToStr(std::string path, size_t trim = 4096);
|
||||
ssize_t readFile(std::string path, char* buffer, size_t maxlen);
|
||||
ssize_t readFile(const char* path, char* buffer, size_t maxlen);
|
||||
std::string getFirstDir(std::string_view path);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user