#include <ifaddrs.h>
#include <limits.h>
#include <linux/wireless.h>
+#include <locale.h>
#include <netdb.h>
#include <pwd.h>
#include <signal.h>
run_command(const char *cmd)
{
FILE *fp;
- char buf[64] = "n/a";
+ char buf[1024] = "n/a";
fp = popen(cmd, "r");
if (fp == NULL) {
return smprintf(UNKNOWN_STR);
}
fgets(buf, sizeof(buf)-1, fp);
- buf[strlen(buf)-1] = '\0';
pclose(fp);
+ buf[strlen(buf)] = '\0';
+ strtok(buf, "\n");
+
return smprintf("%s", buf);
}
if (dflag && oflag) {
usage();
}
- if (dflag) {
- (void)daemon(1, 1);
+ if (dflag && daemon(1, 1) < 0) {
+ err(1, "daemon");
}
memset(&act, 0, sizeof(act));
dpy = XOpenDisplay(NULL);
}
+ setlocale(LC_ALL, "");
+
while (!done) {
status_string[0] = '\0';