1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-12-29 05:12:41 +00:00
This commit is contained in:
Travis Yaeger 2019-06-22 09:38:02 -07:00 committed by Brenden Matthews
parent f3b1c05cd6
commit b177dbc4b2

View File

@ -133,10 +133,10 @@ int update_uptime(void) {
} else } else
#endif #endif
{ {
static int rep = 0; static int reported = 0;
FILE *fp; FILE *fp;
if (!(fp = open_file("/proc/uptime", &rep))) { if (!(fp = open_file("/proc/uptime", &reported))) {
info.uptime = 0.0; info.uptime = 0.0;
return 0; return 0;
} }
@ -174,7 +174,7 @@ int check_mount(struct text_object *obj) {
int update_meminfo(void) { int update_meminfo(void) {
FILE *meminfo_fp; FILE *meminfo_fp;
static int rep = 0; static int reported = 0;
/* unsigned int a; */ /* unsigned int a; */
char buf[256]; char buf[256];
@ -185,7 +185,7 @@ int update_meminfo(void) {
info.swapfree = info.swapmax = info.bufmem = info.buffers = info.cached = info.swapfree = info.swapmax = info.bufmem = info.buffers = info.cached =
info.memfree = info.memeasyfree = 0; info.memfree = info.memeasyfree = 0;
if (!(meminfo_fp = open_file("/proc/meminfo", &rep))) { return 0; } if (!(meminfo_fp = open_file("/proc/meminfo", &reported))) { return 0; }
while (!feof(meminfo_fp)) { while (!feof(meminfo_fp)) {
if (fgets(buf, 255, meminfo_fp) == nullptr) { break; } if (fgets(buf, 255, meminfo_fp) == nullptr) { break; }
@ -462,38 +462,25 @@ int update_net_stats(void) {
update_gateway_info(); update_gateway_info();
update_gateway_info2(); update_gateway_info2();
FILE *net_dev_fp; FILE *net_dev_fp;
static int rep = 0; static int reported = 0;
/* variably to notify the parts averaging the download speed, that this /* variable to notify the parts averaging the download speed, that this
* is the first call ever to this function. This variable can't be used * is the first call ever to this function. This variable can't be used
* to decide if this is the first time an interface was parsed as there * to decide if this is the first time an interface was parsed as there
* are many interfaces, which can be activated and deactivated at arbitrary * are many interfaces, which can be activated and deactivated at arbitrary
* times */ * times */
static char first = 1; static bool is_first_update = true;
// FIXME: arbitrary size chosen to keep code simple. // FIXME: arbitrary size chosen to keep code simple.
int i;
int i2;
unsigned int curtmp1;
unsigned int curtmp2;
unsigned int k;
struct ifconf conf;
char buf[256]; char buf[256];
double delta; double time_between_updates;
#ifdef BUILD_WLAN
// wireless info variables
int skfd, has_bitrate = 0;
struct wireless_info *winfo;
struct iwreq wrq;
#endif
/* get delta */ /* get delta */
delta = current_update_time - last_update_time; time_between_updates = current_update_time - last_update_time;
if (delta <= 0.0001) { return 0; } if (time_between_updates <= 0.0001) { return 0; }
/* open file /proc/net/dev. If not something went wrong, clear all /* open file /proc/net/dev. If not something went wrong, clear all
* network statistics */ * network statistics */
if (!(net_dev_fp = open_file("/proc/net/dev", &rep))) { if (!(net_dev_fp = open_file("/proc/net/dev", &reported))) {
clear_net_stats(); clear_net_stats();
return 0; return 0;
} }
@ -509,7 +496,14 @@ int update_net_stats(void) {
} }
/* read each interface */ /* read each interface */
for (i2 = 0; i2 < MAX_NET_INTERFACES; i2++) { #ifdef BUILD_WLAN
// wireless info variables
int skfd, has_bitrate = 0;
struct wireless_info *winfo;
struct iwreq wrq;
#endif
for (int i2 = 0; i2 < MAX_NET_INTERFACES; i2++) {
struct net_stat *ns; struct net_stat *ns;
char *s, *p; char *s, *p;
char temp_addr[18]; char temp_addr[18];
@ -549,12 +543,12 @@ int update_net_stats(void) {
* to currently received, meaning the change in network traffic is 0 */ * to currently received, meaning the change in network traffic is 0 */
if (ns->last_read_recv == -1) { if (ns->last_read_recv == -1) {
ns->recv = r; ns->recv = r;
first = 1; is_first_update = true;
ns->last_read_recv = r; ns->last_read_recv = r;
} }
if (ns->last_read_trans == -1) { if (ns->last_read_trans == -1) {
ns->trans = t; ns->trans = t;
first = 1; is_first_update = true;
ns->last_read_trans = t; ns->last_read_trans = t;
} }
/* move current traffic statistic to last thereby obsoleting the /* move current traffic statistic to last thereby obsoleting the
@ -580,15 +574,16 @@ int update_net_stats(void) {
ns->last_read_trans = t; ns->last_read_trans = t;
/*** ip addr patch ***/ /*** ip addr patch ***/
i = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP); int file_descriptor = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
struct ifconf conf;
conf.ifc_buf = (char *)malloc(sizeof(struct ifreq) * MAX_NET_INTERFACES); conf.ifc_buf = (char *)malloc(sizeof(struct ifreq) * MAX_NET_INTERFACES);
conf.ifc_len = sizeof(struct ifreq) * MAX_NET_INTERFACES; conf.ifc_len = sizeof(struct ifreq) * MAX_NET_INTERFACES;
memset(conf.ifc_buf, 0, conf.ifc_len); memset(conf.ifc_buf, 0, conf.ifc_len);
ioctl((long)i, SIOCGIFCONF, &conf); ioctl(file_descriptor, SIOCGIFCONF, &conf);
for (k = 0; k < conf.ifc_len / sizeof(struct ifreq); k++) { for (unsigned int k = 0; k < conf.ifc_len / sizeof(struct ifreq); k++) {
struct net_stat *ns2; struct net_stat *ns2;
if (!(((struct ifreq *)conf.ifc_buf) + k)) break; if (!(((struct ifreq *)conf.ifc_buf) + k)) break;
@ -603,26 +598,26 @@ int update_net_stats(void) {
strncpy(ns2->addrs + strlen(ns2->addrs), temp_addr, 17); strncpy(ns2->addrs + strlen(ns2->addrs), temp_addr, 17);
} }
close((long)i); close(file_descriptor);
free(conf.ifc_buf); free(conf.ifc_buf);
/*** end ip addr patch ***/ /*** end ip addr patch ***/
if (!first) { if (!is_first_update) {
/* calculate instantenous speeds */ /* calculate instantaneous speeds */
ns->net_rec[0] = (ns->recv - last_recv) / delta; ns->net_rec[0] = (ns->recv - last_recv) / time_between_updates;
ns->net_trans[0] = (ns->trans - last_trans) / delta; ns->net_trans[0] = (ns->trans - last_trans) / time_between_updates;
} }
curtmp1 = 0; unsigned int curtmp1 = 0;
curtmp2 = 0; unsigned int curtmp2 = 0;
/* get an average over the last speed samples */ /* get an average over the last speed samples */
int samples = net_avg_samples.get(*state); int samples = net_avg_samples.get(*state);
/* is OpenMP actually useful here? How large is samples? > 1000 ? */ /* is OpenMP actually useful here? How large is samples? > 1000 ? */
#ifdef HAVE_OPENMP #ifdef HAVE_OPENMP
#pragma omp parallel for reduction(+ : curtmp1, curtmp2) schedule(dynamic, 10) #pragma omp parallel for reduction(+ : curtmp1, curtmp2) schedule(dynamic, 10)
#endif /* HAVE_OPENMP */ #endif /* HAVE_OPENMP */
for (i = 0; i < samples; i++) { for (int i = 0; i < samples; i++) {
curtmp1 = curtmp1 + ns->net_rec[i]; curtmp1 = curtmp1 + ns->net_rec[i];
curtmp2 = curtmp2 + ns->net_trans[i]; curtmp2 = curtmp2 + ns->net_trans[i];
} }
@ -632,7 +627,7 @@ int update_net_stats(void) {
#ifdef HAVE_OPENMP #ifdef HAVE_OPENMP
#pragma omp parallel for schedule(dynamic, 10) #pragma omp parallel for schedule(dynamic, 10)
#endif /* HAVE_OPENMP */ #endif /* HAVE_OPENMP */
for (i = samples; i > 1; i--) { for (int i = samples; i > 1; i--) {
ns->net_rec[i - 1] = ns->net_rec[i - 2]; ns->net_rec[i - 1] = ns->net_rec[i - 2];
ns->net_trans[i - 1] = ns->net_trans[i - 2]; ns->net_trans[i - 1] = ns->net_trans[i - 2];
} }
@ -691,6 +686,7 @@ int update_net_stats(void) {
snprintf(ns->essid, 34, "%s", "off/any"); snprintf(ns->essid, 34, "%s", "off/any");
} }
} }
// get channel and freq // get channel and freq
if (winfo->b.has_freq) { if (winfo->b.has_freq) {
if (winfo->has_range == 1) { if (winfo->has_range == 1) {
@ -704,6 +700,7 @@ int update_net_stats(void) {
snprintf(ns->mode, 16, "%s", iw_operation_mode[winfo->b.mode]); snprintf(ns->mode, 16, "%s", iw_operation_mode[winfo->b.mode]);
} }
iw_sockets_close(skfd); iw_sockets_close(skfd);
free(winfo); free(winfo);
#endif #endif
@ -716,6 +713,7 @@ int update_net_stats(void) {
unsigned int netmask, scope; unsigned int netmask, scope;
struct net_stat *ns; struct net_stat *ns;
struct v6addr *lastv6; struct v6addr *lastv6;
// remove the old v6 addresses otherwise they are listed multiple times // remove the old v6 addresses otherwise they are listed multiple times
for (unsigned int i = 0; i < MAX_NET_INTERFACES; i++) { for (unsigned int i = 0; i < MAX_NET_INTERFACES; i++) {
ns = &netstats[i]; ns = &netstats[i];
@ -725,10 +723,12 @@ int update_net_stats(void) {
free(lastv6); free(lastv6);
} }
} }
if ((file = fopen(PROCDIR "/net/if_inet6", "r")) != nullptr) { if ((file = fopen(PROCDIR "/net/if_inet6", "r")) != nullptr) {
while (fscanf(file, "%32s %*02x %02x %02x %*02x %20s\n", v6addr, &netmask, while (fscanf(file, "%32s %*02x %02x %02x %*02x %20s\n", v6addr, &netmask,
&scope, devname) != EOF) { &scope, devname) != EOF) {
ns = get_net_stat(devname, nullptr, NULL); ns = get_net_stat(devname, nullptr, NULL);
if (ns->v6addrs == nullptr) { if (ns->v6addrs == nullptr) {
lastv6 = (struct v6addr *)malloc(sizeof(struct v6addr)); lastv6 = (struct v6addr *)malloc(sizeof(struct v6addr));
ns->v6addrs = lastv6; ns->v6addrs = lastv6;
@ -738,9 +738,12 @@ int update_net_stats(void) {
lastv6->next = (struct v6addr *)malloc(sizeof(struct v6addr)); lastv6->next = (struct v6addr *)malloc(sizeof(struct v6addr));
lastv6 = lastv6->next; lastv6 = lastv6->next;
} }
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
sscanf(v6addr + 2 * i, "%2hhx", &(lastv6->addr.s6_addr[i])); sscanf(v6addr + 2 * i, "%2hhx", &(lastv6->addr.s6_addr[i]));
lastv6->netmask = netmask; lastv6->netmask = netmask;
switch (scope) { switch (scope) {
case 0: // global case 0: // global
lastv6->scope = 'G'; lastv6->scope = 'G';
@ -760,13 +763,15 @@ int update_net_stats(void) {
default: default:
lastv6->scope = '?'; lastv6->scope = '?';
} }
lastv6->next = nullptr; lastv6->next = nullptr;
} }
fclose(file); fclose(file);
} }
#endif /* BUILD_IPV6 */ #endif /* BUILD_IPV6 */
first = 0; is_first_update = false;
fclose(net_dev_fp); fclose(net_dev_fp);
return 0; return 0;
@ -803,10 +808,10 @@ int update_threads(void) {
} else } else
#endif #endif
{ {
static int rep = 0; static int reported = 0;
FILE *fp; FILE *fp;
if (!(fp = open_file("/proc/loadavg", &rep))) { if (!(fp = open_file("/proc/loadavg", &reported))) {
info.threads = 0; info.threads = 0;
return 0; return 0;
} }
@ -853,10 +858,10 @@ void determine_longstat(char *buf) {
void determine_longstat_file(void) { void determine_longstat_file(void) {
#define MAX_PROCSTAT_LINELEN 255 #define MAX_PROCSTAT_LINELEN 255
FILE *stat_fp; FILE *stat_fp;
static int rep = 0; static int reported = 0;
char buf[MAX_PROCSTAT_LINELEN + 1]; char buf[MAX_PROCSTAT_LINELEN + 1];
if (!(stat_fp = open_file("/proc/stat", &rep))) return; if (!(stat_fp = open_file("/proc/stat", &reported))) return;
while (!feof(stat_fp) && while (!feof(stat_fp) &&
fgets(buf, MAX_PROCSTAT_LINELEN, stat_fp) != nullptr) { fgets(buf, MAX_PROCSTAT_LINELEN, stat_fp) != nullptr) {
if (strncmp(buf, "cpu", 3) == 0) { if (strncmp(buf, "cpu", 3) == 0) {
@ -869,7 +874,7 @@ void determine_longstat_file(void) {
void get_cpu_count(void) { void get_cpu_count(void) {
FILE *stat_fp; FILE *stat_fp;
static int rep = 0; static int reported = 0;
char buf[256]; char buf[256];
char *str1, *str2, *token, *subtoken; char *str1, *str2, *token, *subtoken;
char *saveptr1, *saveptr2; char *saveptr1, *saveptr2;
@ -878,7 +883,7 @@ void get_cpu_count(void) {
if (info.cpu_usage) { return; } if (info.cpu_usage) { return; }
if (!(stat_fp = open_file("/sys/devices/system/cpu/present", &rep))) { if (!(stat_fp = open_file("/sys/devices/system/cpu/present", &reported))) {
return; return;
} }
@ -920,7 +925,7 @@ void get_cpu_count(void) {
int update_stat(void) { int update_stat(void) {
FILE *stat_fp; FILE *stat_fp;
static int rep = 0; static int reported = 0;
struct cpu_info *cpu = nullptr; struct cpu_info *cpu = nullptr;
char buf[256]; char buf[256];
int i; int i;
@ -965,7 +970,7 @@ int update_stat(void) {
global_cpu = cpu; global_cpu = cpu;
} }
if (!(stat_fp = open_file("/proc/stat", &rep))) { if (!(stat_fp = open_file("/proc/stat", &reported))) {
info.run_threads = 0; info.run_threads = 0;
if (info.cpu_usage) { if (info.cpu_usage) {
memset(info.cpu_usage, 0, info.cpu_count * sizeof(float)); memset(info.cpu_usage, 0, info.cpu_count * sizeof(float));
@ -1080,10 +1085,10 @@ int update_load_average(void) {
} else } else
#endif #endif
{ {
static int rep = 0; static int reported = 0;
FILE *fp; FILE *fp;
if (!(fp = open_file("/proc/loadavg", &rep))) { if (!(fp = open_file("/proc/loadavg", &reported))) {
info.loadavg[0] = info.loadavg[1] = info.loadavg[2] = 0.0; info.loadavg[0] = info.loadavg[1] = info.loadavg[2] = 0.0;
return 0; return 0;
} }
@ -1104,15 +1109,16 @@ static int no_dots(const struct dirent *d) {
return 1; return 1;
} }
static int get_first_file_in_a_directory(const char *dir, char *s, int *rep) { static int get_first_file_in_a_directory(const char *dir, char *s,
int *reported) {
struct dirent **namelist; struct dirent **namelist;
int i, n; int i, n;
n = scandir(dir, &namelist, no_dots, alphasort); n = scandir(dir, &namelist, no_dots, alphasort);
if (n < 0) { if (n < 0) {
if (!rep || !*rep) { if (!reported || !*reported) {
NORM_ERR("scandir for %s: %s", dir, strerror(errno)); NORM_ERR("scandir for %s: %s", dir, strerror(errno));
if (rep) { *rep = 1; } if (reported) { *reported = 1; }
} }
return 0; return 0;
} else { } else {
@ -1198,9 +1204,9 @@ static int open_sysfs_sensor(const char *dir, const char *dev, const char *type,
/* if device is nullptr or *, get first */ /* if device is nullptr or *, get first */
if (dev == nullptr || strcmp(dev, "*") == 0) { if (dev == nullptr || strcmp(dev, "*") == 0) {
static int rep = 0; static int reported = 0;
if (!get_first_file_in_a_directory(dir, buf, &rep)) { return -1; } if (!get_first_file_in_a_directory(dir, buf, &reported)) { return -1; }
dev = buf; dev = buf;
} }
@ -1450,7 +1456,7 @@ void free_sysfs_sensor(struct text_object *obj) {
char get_freq(char *p_client_buffer, size_t client_buffer_size, char get_freq(char *p_client_buffer, size_t client_buffer_size,
const char *p_format, int divisor, unsigned int cpu) { const char *p_format, int divisor, unsigned int cpu) {
FILE *f; FILE *f;
static int rep = 0; static int reported = 0;
char frequency[32]; char frequency[32];
char s[256]; char s[256];
double freq = 0; double freq = 0;
@ -1481,7 +1487,7 @@ char get_freq(char *p_client_buffer, size_t client_buffer_size,
} }
// open the CPU information file // open the CPU information file
f = open_file("/proc/cpuinfo", &rep); f = open_file("/proc/cpuinfo", &reported);
if (!f) { if (!f) {
perror(PACKAGE_NAME ": Failed to access '/proc/cpuinfo' at get_freq()"); perror(PACKAGE_NAME ": Failed to access '/proc/cpuinfo' at get_freq()");
return 0; return 0;
@ -1618,7 +1624,7 @@ void print_voltage_v(struct text_object *obj, char *p,
#define ACPI_FAN_DIR "/proc/acpi/fan/" #define ACPI_FAN_DIR "/proc/acpi/fan/"
void get_acpi_fan(char *p_client_buffer, size_t client_buffer_size) { void get_acpi_fan(char *p_client_buffer, size_t client_buffer_size) {
static int rep = 0; static int reported = 0;
char buf[256]; char buf[256];
char buf2[256]; char buf2[256];
FILE *fp; FILE *fp;
@ -1626,14 +1632,14 @@ void get_acpi_fan(char *p_client_buffer, size_t client_buffer_size) {
if (!p_client_buffer || client_buffer_size <= 0) { return; } if (!p_client_buffer || client_buffer_size <= 0) { return; }
/* yeah, slow... :/ */ /* yeah, slow... :/ */
if (!get_first_file_in_a_directory(ACPI_FAN_DIR, buf, &rep)) { if (!get_first_file_in_a_directory(ACPI_FAN_DIR, buf, &reported)) {
snprintf(p_client_buffer, client_buffer_size, "%s", "no fans?"); snprintf(p_client_buffer, client_buffer_size, "%s", "no fans?");
return; return;
} }
snprintf(buf2, sizeof(buf2), "%s%s/state", ACPI_FAN_DIR, buf); snprintf(buf2, sizeof(buf2), "%s%s/state", ACPI_FAN_DIR, buf);
fp = open_file(buf2, &rep); fp = open_file(buf2, &reported);
if (!fp) { if (!fp) {
snprintf(p_client_buffer, client_buffer_size, "%s", snprintf(p_client_buffer, client_buffer_size, "%s",
"can't open fan's state file"); "can't open fan's state file");
@ -1668,7 +1674,7 @@ void get_acpi_fan(char *p_client_buffer, size_t client_buffer_size) {
void get_acpi_ac_adapter(char *p_client_buffer, size_t client_buffer_size, void get_acpi_ac_adapter(char *p_client_buffer, size_t client_buffer_size,
const char *adapter) { const char *adapter) {
static int rep = 0; static int reported = 0;
char buf[256]; char buf[256];
char buf2[256]; char buf2[256];
@ -1685,7 +1691,7 @@ void get_acpi_ac_adapter(char *p_client_buffer, size_t client_buffer_size,
snprintf(buf2, sizeof(buf2), "%s/ADP1/uevent", SYSFS_AC_ADAPTER_DIR); snprintf(buf2, sizeof(buf2), "%s/ADP1/uevent", SYSFS_AC_ADAPTER_DIR);
} }
if (stat(buf2, &sb) == 0) if (stat(buf2, &sb) == 0)
fp = open_file(buf2, &rep); fp = open_file(buf2, &reported);
else else
fp = 0; fp = 0;
if (fp) { if (fp) {
@ -1704,14 +1710,14 @@ void get_acpi_ac_adapter(char *p_client_buffer, size_t client_buffer_size,
fclose(fp); fclose(fp);
} else { } else {
/* yeah, slow... :/ */ /* yeah, slow... :/ */
if (!get_first_file_in_a_directory(ACPI_AC_ADAPTER_DIR, buf, &rep)) { if (!get_first_file_in_a_directory(ACPI_AC_ADAPTER_DIR, buf, &reported)) {
snprintf(p_client_buffer, client_buffer_size, "%s", "no ac_adapters?"); snprintf(p_client_buffer, client_buffer_size, "%s", "no ac_adapters?");
return; return;
} }
snprintf(buf2, sizeof(buf2), "%s%s/state", ACPI_AC_ADAPTER_DIR, buf); snprintf(buf2, sizeof(buf2), "%s%s/state", ACPI_AC_ADAPTER_DIR, buf);
fp = open_file(buf2, &rep); fp = open_file(buf2, &reported);
if (!fp) { if (!fp) {
snprintf(p_client_buffer, client_buffer_size, "%s", snprintf(p_client_buffer, client_buffer_size, "%s",
"No ac adapter found.... where is it?"); "No ac adapter found.... where is it?");
@ -2279,7 +2285,7 @@ void get_battery_short_status(char *buffer, unsigned int n, const char *bat) {
} }
int _get_battery_perct(const char *bat) { int _get_battery_perct(const char *bat) {
static int rep = 0; static int reported = 0;
int idx; int idx;
char acpi_path[128]; char acpi_path[128];
char sysfs_path[128]; char sysfs_path[128];
@ -2300,13 +2306,13 @@ int _get_battery_perct(const char *bat) {
if (sysfs_bat_fp[idx] == nullptr && acpi_bat_fp[idx] == NULL && if (sysfs_bat_fp[idx] == nullptr && acpi_bat_fp[idx] == NULL &&
apm_bat_fp[idx] == nullptr) { apm_bat_fp[idx] == nullptr) {
sysfs_bat_fp[idx] = open_file(sysfs_path, &rep); sysfs_bat_fp[idx] = open_file(sysfs_path, &reported);
rep = 0; reported = 0;
} }
if (sysfs_bat_fp[idx] == nullptr && acpi_bat_fp[idx] == NULL && if (sysfs_bat_fp[idx] == nullptr && acpi_bat_fp[idx] == NULL &&
apm_bat_fp[idx] == nullptr) { apm_bat_fp[idx] == nullptr) {
acpi_bat_fp[idx] = open_file(acpi_path, &rep); acpi_bat_fp[idx] = open_file(acpi_path, &reported);
} }
if (sysfs_bat_fp[idx] != nullptr) { if (sysfs_bat_fp[idx] != nullptr) {
@ -2442,7 +2448,7 @@ void powerbook_update_time(long timeval);
#define PMU_PATH "/proc/pmu" #define PMU_PATH "/proc/pmu"
void get_powerbook_batt_info(struct text_object *obj, char *buffer, void get_powerbook_batt_info(struct text_object *obj, char *buffer,
unsigned int n) { unsigned int n) {
static int rep = 0; static int reported = 0;
const char *batt_path = PMU_PATH "/battery_0"; const char *batt_path = PMU_PATH "/battery_0";
const char *info_path = PMU_PATH "/info"; const char *info_path = PMU_PATH "/info";
unsigned int flags = 0; unsigned int flags = 0;
@ -2459,7 +2465,7 @@ void get_powerbook_batt_info(struct text_object *obj, char *buffer,
pb_battery_info_update = current_update_time; pb_battery_info_update = current_update_time;
if (pmu_battery_fp == nullptr) { if (pmu_battery_fp == nullptr) {
pmu_battery_fp = open_file(batt_path, &rep); pmu_battery_fp = open_file(batt_path, &reported);
if (pmu_battery_fp == nullptr) { return; } if (pmu_battery_fp == nullptr) { return; }
} }
@ -2479,7 +2485,7 @@ void get_powerbook_batt_info(struct text_object *obj, char *buffer,
sscanf(buf, "time rem. : %ld", &timeval); sscanf(buf, "time rem. : %ld", &timeval);
} }
} }
pmu_info_fp = open_file(info_path, &rep); pmu_info_fp = open_file(info_path, &reported);
if (pmu_info_fp == nullptr) { return; } if (pmu_info_fp == nullptr) { return; }
rewind(pmu_info_fp); rewind(pmu_info_fp);
@ -2548,10 +2554,10 @@ void powerbook_update_time(long timeval) {
#define ENTROPY_AVAIL_PATH "/proc/sys/kernel/random/entropy_avail" #define ENTROPY_AVAIL_PATH "/proc/sys/kernel/random/entropy_avail"
int get_entropy_avail(unsigned int *val) { int get_entropy_avail(unsigned int *val) {
static int rep = 0; static int reported = 0;
FILE *fp; FILE *fp;
if (!(fp = open_file(ENTROPY_AVAIL_PATH, &rep))) return 1; if (!(fp = open_file(ENTROPY_AVAIL_PATH, &reported))) return 1;
if (fscanf(fp, "%u", val) != 1) return 1; if (fscanf(fp, "%u", val) != 1) return 1;
@ -2562,10 +2568,10 @@ int get_entropy_avail(unsigned int *val) {
#define ENTROPY_POOLSIZE_PATH "/proc/sys/kernel/random/poolsize" #define ENTROPY_POOLSIZE_PATH "/proc/sys/kernel/random/poolsize"
int get_entropy_poolsize(unsigned int *val) { int get_entropy_poolsize(unsigned int *val) {
static int rep = 0; static int reported = 0;
FILE *fp; FILE *fp;
if (!(fp = open_file(ENTROPY_POOLSIZE_PATH, &rep))) return 1; if (!(fp = open_file(ENTROPY_POOLSIZE_PATH, &reported))) return 1;
if (fscanf(fp, "%u", val) != 1) return 1; if (fscanf(fp, "%u", val) != 1) return 1;
@ -2615,7 +2621,7 @@ int is_disk(char *dev) {
int update_diskio(void) { int update_diskio(void) {
FILE *fp; FILE *fp;
static int rep = 0; static int reported = 0;
char buf[512], devbuf[64]; char buf[512], devbuf[64];
unsigned int major, minor; unsigned int major, minor;
int col_count = 0; int col_count = 0;
@ -2627,7 +2633,7 @@ int update_diskio(void) {
stats.current_read = 0; stats.current_read = 0;
stats.current_write = 0; stats.current_write = 0;
if (!(fp = open_file("/proc/diskstats", &rep))) { return 0; } if (!(fp = open_file("/proc/diskstats", &reported))) { return 0; }
/* read reads and writes from all disks (minor = 0), including cd-roms /* read reads and writes from all disks (minor = 0), including cd-roms
* and floppies, and sum them up */ * and floppies, and sum them up */