From: Pierre Habouzit Date: Sun, 09 Sep 2007 00:04:34 GMT Subject: [PATCH 4/6] Use strbuf_read in builtin-fetch-tool.c. Message-ID: <11892962771947-git-send-email-madcoder@debian.org> In-Reply-To: <1189296276114-git-send-email-madcoder@debian.org> xrealloc.use --; Signed-off-by: Pierre Habouzit --- builtin-fetch--tool.c | 23 ++++++----------------- 1 files changed, 6 insertions(+), 17 deletions(-) diff --git a/builtin-fetch--tool.c b/builtin-fetch--tool.c index 24c7e6f..0dd742f 100644 --- a/builtin-fetch--tool.c +++ b/builtin-fetch--tool.c @@ -2,27 +2,16 @@ #include "cache.h" #include "refs.h" #include "commit.h" - -#define CHUNK_SIZE 1024 +#include "strbuf.h" static char *get_stdin(void) { - size_t offset = 0; - char *data = xmalloc(CHUNK_SIZE); - - while (1) { - ssize_t cnt = xread(0, data + offset, CHUNK_SIZE); - if (cnt < 0) - die("error reading standard input: %s", - strerror(errno)); - if (cnt == 0) { - data[offset] = 0; - break; - } - offset += cnt; - data = xrealloc(data, offset + CHUNK_SIZE); + struct strbuf buf; + strbuf_init(&buf); + if (strbuf_read(&buf, 0) < 0) { + die("error reading standard input: %s", strerror(errno)); } - return data; + return strbuf_detach(&buf); } static void show_new(enum object_type type, unsigned char *sha1_new) -- 1.5.3.1