char status[5];
FILE *fp;
- snprintf(path, sizeof(path), "%s%s%s", "/sys/class/net/", iface,
- "/operstate");
+ if (esnprintf(path, sizeof(path),
+ "/sys/class/net/%s/operstate",
+ iface) < 0) {
+ return NULL;
+ }
if (!(fp = fopen(path, "r"))) {
warn("fopen '%s':", path);
return NULL;
sscanf(datastart + 1, " %*d %d %*d %*d\t\t %*d\t "
"%*d\t\t%*d\t\t %*d\t %*d\t\t %*d", &cur);
- return bprintf("%d", (int)((float)cur / total * 100));
+ return bprintf("%d%%", (int)((float)cur / total * 100));
}
const char *
memset(&wreq, 0, sizeof(struct iwreq));
wreq.u.essid.length = IW_ESSID_MAX_SIZE+1;
- snprintf(wreq.ifr_name, sizeof(wreq.ifr_name), "%s", iface);
+ if (esnprintf(wreq.ifr_name, sizeof(wreq.ifr_name),
+ "%s", iface) < 0) {
+ return NULL;
+ }
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");
q = nr.nr_rssi >= -50 ? 100 : (nr.nr_rssi <= -100 ? 0 :
(2 * (nr.nr_rssi + 100)));
}
- return bprintf("%d", q);
+ return bprintf("%d%%", q);
}
return NULL;