diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-13 10:47:47 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-13 10:47:47 +0400 |
commit | d67cef2425fb5e75b75d52d9a308da6d29cd7a0d (patch) | |
tree | 5d034f518dfae9a933a701e8c42da4acbf0cb42d /include | |
parent | f5f75c5e82d47613847c356664e47c4be69e73aa (diff) |
hush: fix read builtin to not read ahead past eol and to not use
insane amounts of stack. Testsuite updated.
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 4 |
1 files changed, 4 insertions, 0 deletions
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); |