aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/lib.h2
-rw-r--r--lib/xwrap.c6
-rw-r--r--toys/posix/grep.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/lib.h b/lib/lib.h
index c46aacaa..d052880e 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -102,7 +102,7 @@ size_t xread(int fd, void *buf, size_t len);
void xreadall(int fd, void *buf, size_t len);
void xwrite(int fd, void *buf, size_t len);
off_t xlseek(int fd, off_t offset, int whence);
-char *xreadfile(char *name);
+char *xreadfile(char *name, char *buf, off_t len);
int xioctl(int fd, int request, void *data);
char *xgetcwd(void);
void xstat(char *path, struct stat *st);
diff --git a/lib/xwrap.c b/lib/xwrap.c
index 08a93ddf..ae296cd6 100644
--- a/lib/xwrap.c
+++ b/lib/xwrap.c
@@ -451,10 +451,10 @@ char *xreadlink(char *name)
}
}
-char *xreadfile(char *name)
+char *xreadfile(char *name, char *buf, off_t len)
{
- char *buf = readfile(name, 0, 0);
- if (!buf) perror_exit("xreadfile %s", name);
+ if (!(buf = readfile(name, buf, len))) perror_exit("Bad '%s'", name);
+
return buf;
}
diff --git a/toys/posix/grep.c b/toys/posix/grep.c
index 8877f452..d78f7559 100644
--- a/toys/posix/grep.c
+++ b/toys/posix/grep.c
@@ -186,7 +186,7 @@ static void parse_regex(void)
// exit to free. Not supporting nofork for this command any time soon.)
al = TT.f ? TT.f : TT.e;
while (al) {
- if (TT.f) s = ss = xreadfile(al->arg);
+ if (TT.f) s = ss = xreadfile(al->arg, 0, 0);
else s = ss = al->arg;
do {