From: Junio C Hamano <gitster@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: git@vger.kernel.org, Jens.Lehmann@web.de, peff@peff.net,
sunshine@sunshineco.com, jrnieder@gmail.com
Subject: Re: [PATCHv17 05/11] run_processes_parallel: treat output of children as byte array
Date: Thu, 25 Feb 2016 10:16:34 -0800 [thread overview]
Message-ID: <xmqqsi0godtp.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <1456369618-18127-6-git-send-email-sbeller@google.com> (Stefan Beller's message of "Wed, 24 Feb 2016 19:06:52 -0800")
Stefan Beller <sbeller@google.com> writes:
> @@ -1135,11 +1135,11 @@ static int pp_collect_finished(struct parallel_processes *pp)
> strbuf_addbuf(&pp->buffered_output, &pp->children[i].err);
> strbuf_reset(&pp->children[i].err);
> } else {
> - fputs(pp->children[i].err.buf, stderr);
> + strbuf_write(&pp->children[i].err, stderr);
> strbuf_reset(&pp->children[i].err);
>
> /* Output all other finished child processes */
> - fputs(pp->buffered_output.buf, stderr);
> + strbuf_write(&pp->buffered_output, stderr);
> strbuf_reset(&pp->buffered_output);
>
> /*
> diff --git a/strbuf.c b/strbuf.c
> index 38686ff..71345cd 100644
> --- a/strbuf.c
> +++ b/strbuf.c
> @@ -395,6 +395,12 @@ ssize_t strbuf_read_once(struct strbuf *sb, int fd, size_t hint)
> return cnt;
> }
>
> +ssize_t strbuf_write(struct strbuf *sb, FILE *f)
> +{
> + return fwrite(sb->buf, 1, sb->len, f);
> +}
Whenever I see a call to a function that takes size and nmemb
separately, I get worried about the case where nmemb is zero.
Hopefully everybody implements such a fwrite() as a no-op?
This may not matter in this patch as no caller checks the return
value from this function, but shouldn't the callers be a bit more
careful checking errors in the first place?
next prev parent reply other threads:[~2016-02-25 18:16 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 3:06 [PATCHv17 00/11] Expose submodule parallelism to the user Stefan Beller
2016-02-25 3:06 ` [PATCHv17 01/11] submodule-config: keep update strategy around Stefan Beller
2016-02-25 18:06 ` Junio C Hamano
2016-02-25 18:21 ` Stefan Beller
2016-02-25 3:06 ` [PATCHv17 02/11] submodule-config: drop check against NULL Stefan Beller
2016-02-25 3:06 ` [PATCHv17 03/11] fetching submodules: respect `submodule.fetchJobs` config option Stefan Beller
2016-02-25 3:06 ` [PATCHv17 04/11] submodule update: direct error message to stderr Stefan Beller
2016-02-25 3:06 ` [PATCHv17 05/11] run_processes_parallel: treat output of children as byte array Stefan Beller
2016-02-25 18:16 ` Junio C Hamano [this message]
2016-02-25 20:35 ` Stefan Beller
2016-02-25 3:06 ` [PATCHv17 06/11] run-command: expose default_{start_failure, task_finished} Stefan Beller
2016-02-25 3:06 ` [PATCHv17 07/11] run_processes_parallel: rename parameters for the callbacks Stefan Beller
2016-02-25 3:06 ` [PATCHv17 08/11] run_processes_parallel: correctly terminate callbacks with an LF Stefan Beller
2016-02-25 3:06 ` [PATCHv17 09/11] git submodule update: have a dedicated helper for cloning Stefan Beller
2016-02-25 3:06 ` [PATCHv17 10/11] submodule update: expose parallelism to the user Stefan Beller
2016-02-25 3:06 ` [PATCHv17 11/11] clone: allow an explicit argument for parallel submodule clones Stefan Beller
2016-02-25 22:26 ` [PATCHv17 00/11] Expose submodule parallelism to the user Junio C Hamano
2016-02-25 23:08 ` [PATCHv18 00/11] Expose Stefan Beller
2016-02-25 23:08 ` [PATCHv18 01/11] submodule-config: keep update strategy around Stefan Beller
2016-02-25 23:08 ` [PATCHv18 02/11] submodule-config: drop check against NULL Stefan Beller
2016-02-25 23:08 ` [PATCHv18 03/11] fetching submodules: respect `submodule.fetchJobs` config option Stefan Beller
2016-02-25 23:08 ` [PATCHv18 04/11] submodule update: direct error message to stderr Stefan Beller
2016-02-25 23:08 ` [PATCHv18 05/11] run_processes_parallel: treat output of children as byte array Stefan Beller
2016-02-25 23:08 ` [PATCHv18 06/11] run-command: expose default_{start_failure, task_finished} Stefan Beller
2016-02-25 23:08 ` [PATCHv18 07/11] run_processes_parallel: rename parameters for the callbacks Stefan Beller
2016-02-25 23:08 ` [PATCHv18 08/11] run_processes_parallel: correctly terminate callbacks with an LF Stefan Beller
2016-02-25 23:08 ` [PATCHv18 09/11] git submodule update: have a dedicated helper for cloning Stefan Beller
2016-02-25 23:08 ` [PATCHv18 10/11] submodule update: expose parallelism to the user Stefan Beller
2016-02-25 23:08 ` [PATCHv18 11/11] clone: allow an explicit argument for parallel submodule clones Stefan Beller
2016-02-25 23:11 ` [PATCHv18 00/11] Expose Stefan Beller
2016-02-25 23:19 ` Jonathan Nieder
2016-02-25 23:25 ` Stefan Beller
2016-02-25 23:35 ` Jonathan Nieder
2016-02-25 23:39 ` Junio C Hamano
2016-02-25 23:48 ` [PATCHv19 00/11] Expose submodule parallelism to the user Stefan Beller
2016-02-25 23:48 ` [PATCHv19 01/11] submodule-config: keep update strategy around Stefan Beller
2016-02-25 23:48 ` [PATCHv19 02/11] submodule-config: drop check against NULL Stefan Beller
2016-02-25 23:48 ` [PATCHv19 03/11] fetching submodules: respect `submodule.fetchJobs` config option Stefan Beller
2016-02-25 23:48 ` [PATCHv19 04/11] submodule update: direct error message to stderr Stefan Beller
2016-02-25 23:48 ` [PATCHv19 05/11] run_processes_parallel: treat output of children as byte array Stefan Beller
2016-02-25 23:48 ` [PATCHv19 06/11] run-command: expose default_{start_failure, task_finished} Stefan Beller
2016-02-25 23:48 ` [PATCHv19 07/11] run_processes_parallel: rename parameters for the callbacks Stefan Beller
2016-02-25 23:48 ` [PATCHv19 08/11] run_processes_parallel: correctly terminate callbacks with an LF Stefan Beller
2016-02-25 23:48 ` [PATCHv19 09/11] git submodule update: have a dedicated helper for cloning Stefan Beller
2016-02-27 8:40 ` Duy Nguyen
2016-02-29 19:03 ` Stefan Beller
2016-02-25 23:48 ` [PATCHv19 10/11] submodule update: expose parallelism to the user Stefan Beller
2016-02-25 23:48 ` [PATCHv19 11/11] clone: allow an explicit argument for parallel submodule clones Stefan Beller
2016-02-25 23:50 ` [PATCHv19 00/11] Expose submodule parallelism to the user Jonathan Nieder
2016-02-29 20:48 ` Johannes Sixt
2016-02-29 20:59 ` Stefan Beller
2016-02-29 21:01 ` Junio C Hamano
2016-02-29 21:06 ` Stefan Beller
2016-02-29 21:19 ` Junio C Hamano
2016-02-29 21:22 ` Stefan Beller
2016-02-29 21:28 ` Johannes Sixt
2016-02-29 21:51 ` Junio C Hamano
2016-02-29 21:55 ` Stefan Beller
2016-02-25 23:25 ` [PATCHv18 00/11] Expose Jonathan Nieder
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=xmqqsi0godtp.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=peff@peff.net \
--cc=sbeller@google.com \
--cc=sunshine@sunshineco.com \
/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.