# HG changeset patch # User Rob Landley # Date 1388191501 21600 # Node ID 8afe1fde93147fa5390acafa2bf2b50385fe644d # Parent ab7f336bfe52e484787c84e3ae020c65de762427 Pass through all the readfile() arguments from xreadfile(). diff -r ab7f336bfe52 -r 8afe1fde9314 lib/lib.h --- a/lib/lib.h Fri Dec 27 08:36:03 2013 -0600 +++ b/lib/lib.h Fri Dec 27 18:45:01 2013 -0600 @@ -102,7 +102,7 @@ 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 -r ab7f336bfe52 -r 8afe1fde9314 lib/xwrap.c --- a/lib/xwrap.c Fri Dec 27 08:36:03 2013 -0600 +++ b/lib/xwrap.c Fri Dec 27 18:45:01 2013 -0600 @@ -451,10 +451,10 @@ } } -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 -r ab7f336bfe52 -r 8afe1fde9314 toys/posix/grep.c --- a/toys/posix/grep.c Fri Dec 27 08:36:03 2013 -0600 +++ b/toys/posix/grep.c Fri Dec 27 18:45:01 2013 -0600 @@ -186,7 +186,7 @@ // 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 {