Xinqi Bao's Git

Implement esnprintf() and make formatted calls more efficient
[slstatus.git] / components / wifi.c
index 591f6ad..b3e1723 100644 (file)
                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;
 
                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':");