From: Lars Stoltenow <penma@derf.homelinux.org>
To: git@vger.kernel.org
Subject: [PATCH] git-daemon: Worked around uclibc buffer problem
Date: Fri, 10 Oct 2008 00:51:52 +0200 [thread overview]
Message-ID: <20081009225152.GB14957@derf.homelinux.org> (raw)
uclibc immediately write()s every string argument to fprintf, which causes
superfluous 'remote: ' strings to appear when cloning repos. This patch
makes it write the message in one shot.
Signed-off-by: Lars Stoltenow <penma@penma.de>
---
builtin-pack-objects.c | 7 +++++--
progress.c | 8 ++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index 1158e42..94f7404 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -2232,9 +2232,12 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
if (nr_result)
prepare_pack(window, depth);
write_pack_file();
- if (progress)
- fprintf(stderr, "Total %"PRIu32" (delta %"PRIu32"),"
+ if (progress) {
+ char message[128];
+ snprintf(message, sizeof(message), "Total %"PRIu32" (delta %"PRIu32"),"
" reused %"PRIu32" (delta %"PRIu32")\n",
written, written_delta, reused, reused_delta);
+ fputs(message, stderr);
+ }
return 0;
}
diff --git a/progress.c b/progress.c
index 55a8687..56c9134 100644
--- a/progress.c
+++ b/progress.c
@@ -94,16 +94,20 @@ static int display(struct progress *progress, unsigned n, const char *done)
if (progress->total) {
unsigned percent = n * 100 / progress->total;
if (percent != progress->last_percent || progress_update) {
+ char message[128];
progress->last_percent = percent;
- fprintf(stderr, "%s: %3u%% (%u/%u)%s%s",
+ snprintf(message, sizeof(message), "%s: %3u%% (%u/%u)%s%s",
progress->title, percent, n,
progress->total, tp, eol);
+ fputs(message, stderr);
fflush(stderr);
progress_update = 0;
return 1;
}
} else if (progress_update) {
- fprintf(stderr, "%s: %u%s%s", progress->title, n, tp, eol);
+ char message[128];
+ snprintf(message, sizeof(message), "%s: %u%s%s", progress->title, n, tp, eol);
+ fputs(message, stderr);
fflush(stderr);
progress_update = 0;
return 1;
--
1.6.0.2.GIT
next reply other threads:[~2008-10-09 22:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-09 22:51 Lars Stoltenow [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-10-09 21:34 [PATCH] git-daemon: Worked around uclibc buffer problem Lars Stoltenow
2008-10-10 0:16 ` Nicolas Pitre
2008-10-10 13:33 ` Lars Stoltenow
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=20081009225152.GB14957@derf.homelinux.org \
--to=penma@derf.homelinux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox