X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=strbuf.c;h=e33d06b87c978ad7484c9d6bf972681c3d6cdeb0;hb=a2f8028d3d661b314d5a784764f2f5f9e4c2dde0;hp=dac945c7c8ec3ca14791e472fd19a47cc07dcd15;hpb=d1df5743809614241883ecad51876607cf432034;p=git.git diff --git a/strbuf.c b/strbuf.c index dac945c7c..e33d06b87 100644 --- a/strbuf.c +++ b/strbuf.c @@ -1,9 +1,8 @@ -#include -#include +#include "cache.h" #include "strbuf.h" void strbuf_init(struct strbuf *sb) { - sb->buf = 0; + sb->buf = NULL; sb->eof = sb->alloc = sb->len = 0; } @@ -15,7 +14,7 @@ static void strbuf_begin(struct strbuf *sb) { static void inline strbuf_add(struct strbuf *sb, int ch) { if (sb->alloc <= sb->len) { sb->alloc = sb->alloc * 3 / 2 + 16; - sb->buf = realloc(sb->buf, sb->alloc); + sb->buf = xrealloc(sb->buf, sb->alloc); } sb->buf[sb->len++] = ch; } @@ -36,8 +35,7 @@ void read_line(struct strbuf *sb, FILE *fp, int term) { break; strbuf_add(sb, ch); } - if (sb->len == 0) + if (ch == EOF && sb->len == 0) sb->eof = 1; strbuf_end(sb); } -