2 #include "talloc/talloc.h"
3 #include "string/string.h"
10 /*static int close_no_errno(int fd)
12 int ret = 0, serrno = errno;
19 /*void *grab_fd(const void *ctx, int fd)
22 unsigned int max = 16384, size = 0;
25 buffer = talloc_array(ctx, char, max+1);
26 while ((ret = read(fd, buffer + size, max - size)) > 0) {
29 buffer = talloc_realloc(ctx, buffer, char, max*=2 + 1);
40 /* This version adds one byte (for nul term) */
41 /*void *grab_file(const void *ctx, const char *filename)
46 if (streq(filename, "-"))
47 fd = dup(STDIN_FILENO);
49 fd = open(filename, O_RDONLY, 0);
54 buffer = grab_fd(ctx, fd);