Browse Source

[PATCH] fix strbuf take #2

I just remembered why I placed that bogus "sb->len ==0 implies
sb->eof" condition there.  We need at least something like this
to catch the normal EOF (that is, line termination immediately
followed by EOF) case.  "if (feof(fp))" fires when we have
already read the eof, not when we are about read it.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
maint
Junio C Hamano 20 years ago committed by Linus Torvalds
parent
commit
9dc527adbc
  1. 2
      strbuf.c

2
strbuf.c

@ -37,6 +37,8 @@ void read_line(struct strbuf *sb, FILE *fp, int term) { @@ -37,6 +37,8 @@ void read_line(struct strbuf *sb, FILE *fp, int term) {
break;
strbuf_add(sb, ch);
}
if (ch == EOF && sb->len == 0)
sb->eof = 1;
strbuf_end(sb);
}


Loading…
Cancel
Save