Xinqi Bao's Git

consistent calculation of ram_* on openbsd
[slstatus.git] / components / wifi.c
index c209598..24dca36 100644 (file)
@@ -2,10 +2,10 @@
 #if defined(__linux__)
        #include <errno.h>
        #include <ifaddrs.h>
+       #include <limits.h>
        #include <linux/wireless.h>
        #include <sys/socket.h>
        #include <stdio.h>
-       #include <limits.h>
        #include <string.h>
        #include <sys/ioctl.h>
        #include <unistd.h>
@@ -16,7 +16,6 @@
        wifi_perc(const char *iface)
        {
                int i, cur;
-               float perc;
                int total = 70; /* the max of /proc/net/wireless */
                char *p, *datastart;
                char path[PATH_MAX];
@@ -59,9 +58,7 @@
                sscanf(datastart + 1, " %*d   %d  %*d  %*d\t\t  %*d\t   "
                       "%*d\t\t%*d\t\t %*d\t  %*d\t\t %*d", &cur);
 
-               perc = (float)cur / total * 100.0;
-
-               return bprintf("%.0f", perc);
+               return bprintf("%d", (int)((float)cur / total * 100));
        }
 
        const char *