Rework cpu freq node handling

Similar to the prior commit - fscanf directly into the required data
type.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
pull/702/head
Emil Velikov 2 years ago
parent 597f78cbee
commit 42de1edc22

@ -227,13 +227,14 @@ bool CPUStats::UpdateCPUData()
bool CPUStats::UpdateCoreMhz() { bool CPUStats::UpdateCoreMhz() {
m_coreMhz.clear(); m_coreMhz.clear();
FILE *fp; FILE *fp;
char str[10];
for (size_t i = 0; i < m_cpuData.size(); i++) for (size_t i = 0; i < m_cpuData.size(); i++)
{ {
std::string path = "/sys/devices/system/cpu/cpu" + std::to_string(i) + "/cpufreq/scaling_cur_freq"; std::string path = "/sys/devices/system/cpu/cpu" + std::to_string(i) + "/cpufreq/scaling_cur_freq";
if ((fp = fopen(path.c_str(), "r"))){ if ((fp = fopen(path.c_str(), "r"))){
fscanf(fp, "%s", str); int64_t temp;
m_cpuData[i].mhz = atoi(str) / 1000; if (fscanf(fp, "%" PRId64, &temp) != 1)
temp = 0;
m_cpuData[i].mhz = temp / 1000;
fclose(fp); fclose(fp);
} }
} }

Loading…
Cancel
Save