components
battery.c
cpu.c
datetime.c
disk.c
entropy.c
hostname.c
ip.c
kernel_release.c
keyboard_indicators.c
load_avg.c
num_files.c
ram.c
run_command.c
swap.c
temperature.c
uptime.c
user.c
volume.c
wifi.c
LICENSE
Makefile
README
arg.h
config.def.h
config.mk
slstatus.1
slstatus.c
slstatus.h
util.c
util.h
28 lines
476 B
C
28 lines
476 B
C
/* See LICENSE file for copyright and license details. */
|
|
#include <err.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
#include "../util.h"
|
|
|
|
const char *
|
|
run_command(const char *cmd)
|
|
{
|
|
char *p;
|
|
FILE *fp;
|
|
|
|
fp = popen(cmd, "r");
|
|
if (fp == NULL) {
|
|
warn("Failed to get command output for %s", cmd);
|
|
return NULL;
|
|
}
|
|
p = fgets(buf, sizeof(buf) - 1, fp);
|
|
pclose(fp);
|
|
if (!p)
|
|
return NULL;
|
|
if ((p = strrchr(buf, '\n')) != NULL)
|
|
p[0] = '\0';
|
|
|
|
return buf[0] ? buf : NULL;
|
|
}
|