hostname(void)
{
char buf[HOST_NAME_MAX];
- FILE *fp;
- fp = fopen("/proc/sys/kernel/hostname", "r");
- if (fp == NULL) {
- warn("Failed to open file /proc/sys/kernel/hostname");
+ if (gethostname(buf, sizeof(buf)) == -1) {
+ warn("hostname");
return smprintf(UNKNOWN_STR);
}
- fgets(buf, sizeof(buf), fp);
- buf[strlen(buf)-1] = '\0';
- fclose(fp);
return smprintf("%s", buf);
}
run_command(const char *cmd)
{
FILE *fp;
- char buf[64] = "n/a";
+ char buf[1024] = "n/a";
fp = popen(cmd, "r");
if (fp == NULL) {
warn("Failed to get command output for %s", cmd);
return smprintf(UNKNOWN_STR);
}
- fgets(buf, sizeof(buf), fp);
- buf[sizeof(buf)-1] = '\0';
+ fgets(buf, sizeof(buf)-1, fp);
pclose(fp);
+ buf[strlen(buf)] = '\0';
+ strtok(buf, "\n");
+
return smprintf("%s", buf);
}
snd_mixer_close(handle);
if (max == 0)
- return smprintf("%d%%", 0);
+ return smprintf("0%%");
else
- return smprintf("%d%%", ((uint_fast16_t)(vol * 100) / max));
+ return smprintf("%lu%%", ((uint_fast16_t)(vol * 100) / max));
}
static char *