Xinqi Bao's Git
projects
/
slstatus.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
fixed run_command()
[slstatus.git]
/
slstatus.c
diff --git
a/slstatus.c
b/slstatus.c
index
ba7f95a
..
57ef9a9
100644
(file)
--- a/
slstatus.c
+++ b/
slstatus.c
@@
-269,16
+269,11
@@
static char *
hostname(void)
{
char buf[HOST_NAME_MAX];
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);
}
return smprintf(UNKNOWN_STR);
}
- fgets(buf, sizeof(buf), fp);
- buf[strlen(buf)-1] = '\0';
- fclose(fp);
return smprintf("%s", buf);
}
return smprintf("%s", buf);
}
@@
-405,17
+400,19
@@
static char *
run_command(const char *cmd)
{
FILE *fp;
run_command(const char *cmd)
{
FILE *fp;
- char buf[
6
4] = "n/a";
+ char buf[
102
4] = "n/a";
fp = popen(cmd, "r");
if (fp == NULL) {
warn("Failed to get command output for %s", cmd);
return smprintf(UNKNOWN_STR);
}
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);
pclose(fp);
+ buf[strlen(buf)] = '\0';
+ strtok(buf, "\n");
+
return smprintf("%s", buf);
}
return smprintf("%s", buf);
}
@@
-502,9
+499,9
@@
vol_perc(const char *card)
snd_mixer_close(handle);
if (max == 0)
snd_mixer_close(handle);
if (max == 0)
- return smprintf("
%d%%", 0
);
+ return smprintf("
0%%"
);
else
else
- return smprintf("%
d
%%", ((uint_fast16_t)(vol * 100) / max));
+ return smprintf("%
lu
%%", ((uint_fast16_t)(vol * 100) / max));
}
static char *
}
static char *