mirror of git://git.suckless.org/slstatus
Generically reads an arbitrary file natively. Saves a few layers of execution in comparison to using `run_command` with an argument like `cat ./file`.master
parent
4bd78c94ba
commit
57c6e7340d
@ -0,0 +1,32 @@ |
||||
/* See LICENSE file for copyright and license details. */ |
||||
#include <stdio.h> |
||||
#include <string.h> |
||||
|
||||
#include "../slstatus.h" |
||||
#include "../util.h" |
||||
|
||||
const char * |
||||
cat(const char *path) |
||||
{ |
||||
char *f; |
||||
FILE *fp; |
||||
|
||||
if (!(fp = fopen(path, "r"))) { |
||||
warn("fopen '%s':", path); |
||||
return NULL; |
||||
} |
||||
|
||||
f = fgets(buf, sizeof(buf) - 1, fp); |
||||
if (fclose(fp) < 0) { |
||||
warn("fclose '%s':", path); |
||||
return NULL; |
||||
} |
||||
if (!f) |
||||
return NULL; |
||||
|
||||
if ((f = strrchr(buf, '\n'))) |
||||
f[0] = '\0'; |
||||
|
||||
return buf[0] ? buf : NULL; |
||||
} |
||||
|
Loading…
Reference in new issue