snprintf(path, sizeof(path), "%s%s%s", "/sys/class/net/", iface,
"/operstate");
- fp = fopen(path, "r");
- if (fp == NULL) {
+ if (!(fp = fopen(path, "r"))) {
fprintf(stderr, "fopen '%s': %s\n", path,
strerror(errno));
return NULL;
}
- p = fgets(status, 5, fp);
- fclose(fp);
- if(!p || strcmp(status, "up\n") != 0) {
+ if(!(p = fgets(status, 5, fp)) || strcmp(status, "up\n") != 0) {
return NULL;
}
+ fclose(fp);
- fp = fopen("/proc/net/wireless", "r");
- if (fp == NULL) {
+ if (!(fp = fopen("/proc/net/wireless", "r"))) {
fprintf(stderr, "fopen '/proc/net/wireless': %s\n",
strerror(errno));
return NULL;
if (strcmp(id, "") == 0)
return NULL;
- else
- return id;
+
+ return id;
}
#elif defined(__OpenBSD__)
/* unimplemented */