#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
+#include "noerr/noerr.h"
char **strsplit(const void *ctx, const char *string, const char *delims,
unsigned int *nump)
return buffer;
}
+
+void *grab_file(const void *ctx, const char *filename)
+{
+ int fd;
+ char *buffer;
+
+ if (streq(filename, "-"))
+ fd = dup(STDIN_FILENO);
+ else
+ fd = open(filename, O_RDONLY, 0);
+
+ if (fd < 0)
+ return NULL;
+
+ buffer = grab_fd(ctx, fd);
+ close_noerr(fd);
+ return buffer;
+}