From: Pierre Habouzit <madcoder@debian.org>
To: git@vger.kernel.org
Cc: Pierre Habouzit <madcoder@debian.org>
Subject: [PATCH 4/6] Use strbuf_read in builtin-fetch-tool.c.
Date: Sun, 9 Sep 2007 02:04:34 +0200 [thread overview]
Message-ID: <11892962771947-git-send-email-madcoder@debian.org> (raw)
In-Reply-To: <1189296276114-git-send-email-madcoder@debian.org>
xrealloc.use --;
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
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
next prev parent reply other threads:[~2007-09-09 8:43 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-09 0:04 Use more strbufs series [on top of next] Pierre Habouzit
2007-09-09 0:04 ` [PATCH 1/6] Add strbuf_rtrim and strbuf_insert Pierre Habouzit
2007-09-09 0:04 ` [PATCH 2/6] Change semantics of interpolate to work like snprintf Pierre Habouzit
2007-09-09 0:04 ` [PATCH 3/6] Rework pretty_print_commit to use strbufs instead of custom buffers Pierre Habouzit
2007-09-09 0:04 ` Pierre Habouzit [this message]
2007-09-09 0:04 ` [PATCH 5/6] Use strbufs to in read_message (imap-send.c), custom buffer-- Pierre Habouzit
2007-09-09 0:04 ` [PATCH 6/6] Replace all read_fd use with strbuf_read, and get rid of it Pierre Habouzit
[not found] ` <7vsl5nflj2.fsf@gitster.siamese.dyndns.org>
[not found] ` <20070910090656.GC3417@artemis.corp>
[not found] ` <7vir6isvu1.fsf@gitster.siamese.dyndns.org>
[not found] ` <7v642iqumt.fsf@gitster.siamese.dyndns.org>
[not found] ` <20070910183256.GD32442@artemis.corp>
2007-09-27 22:56 ` return void expressions in C (Was: [PATCH 3/6] Rework pretty_print_commit ...) Linus Torvalds
2007-09-09 0:12 ` Use more strbufs series [on top of next] Pierre Habouzit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11892962771947-git-send-email-madcoder@debian.org \
--to=madcoder@debian.org \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.