bundle: put strbuf_readline_fd in strbuf.c with adjustments
The comment even said that it should eventually go there. While at it, match the calling convention and name of the function to the strbuf_get*line family. So it now is strbuf_getwholeline_fd. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
d0482e88a7
commit
5e8617f560
16
strbuf.c
16
strbuf.c
@ -383,6 +383,22 @@ int strbuf_getline(struct strbuf *sb, FILE *fp, int term)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int strbuf_getwholeline_fd(struct strbuf *sb, int fd, int term)
|
||||
{
|
||||
strbuf_reset(sb);
|
||||
|
||||
while (1) {
|
||||
char ch;
|
||||
ssize_t len = xread(fd, &ch, 1);
|
||||
if (len <= 0)
|
||||
return EOF;
|
||||
strbuf_addch(sb, ch);
|
||||
if (ch == term)
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint)
|
||||
{
|
||||
int fd, len;
|
||||
|
Reference in New Issue
Block a user