From d67cef2425fb5e75b75d52d9a308da6d29cd7a0d Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 13 Jun 2007 06:47:47 +0000 Subject: hush: fix read builtin to not read ahead past eol and to not use insane amounts of stack. Testsuite updated. --- include/libbb.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/libbb.h b/include/libbb.h index ce62f4529..5aa95ea88 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -400,7 +400,11 @@ extern ssize_t safe_read(int fd, void *buf, size_t count); extern ssize_t full_read(int fd, void *buf, size_t count); extern void xread(int fd, void *buf, size_t count); extern unsigned char xread_char(int fd); +// Read one line a-la fgets. Uses one read(), works only on seekable streams extern char *reads(int fd, char *buf, size_t count); +// Read one line a-la fgets. Reads byte-by-byte. +// Useful when it is important to not read ahead. +extern char *xmalloc_reads(int fd, char *pfx); extern ssize_t read_close(int fd, void *buf, size_t count); extern ssize_t open_read_close(const char *filename, void *buf, size_t count); extern void *xmalloc_open_read_close(const char *filename, size_t *sizep); -- cgit v1.2.3