From: Junio C Hamano <gitster@pobox.com>
To: "Torsten Bögershausen" <tboegi@web.de>
Cc: Chandra Pratap via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org, Chandra Pratap <chandrapratap376@gmail.com>,
Chandra Pratap <chandrapratap3519@gmail.com>
Subject: Re: [PATCH] write-or-die: make GIT_FLUSH a Boolean environment variable
Date: Tue, 02 Jan 2024 08:29:13 -0800 [thread overview]
Message-ID: <xmqqil4bg0me.fsf@gitster.g> (raw)
In-Reply-To: <20240101082446.GA21905@tb-raspi4> ("Torsten Bögershausen"'s message of "Mon, 1 Jan 2024 09:24:46 +0100")
Torsten Bögershausen <tboegi@web.de> writes:
>> - char *cp;
>> + int cp;
>>
>> if (f == stdout) {
>> if (skip_stdout_flush < 0) {
>> - /* NEEDSWORK: make this a normal Boolean */
>> - cp = getenv("GIT_FLUSH");
>> - if (cp)
>> - skip_stdout_flush = (atoi(cp) == 0);
>> + cp = git_env_bool("GIT_FLUSH", -1);
>> + if (cp >= 0)
>> + skip_stdout_flush = (cp == 0);
>> else if ((fstat(fileno(stdout), &st) == 0) &&
>> S_ISREG(st.st_mode))
>> skip_stdout_flush = 1;
>
> I think that the "cp" variable could be renamed,
> cp is not a "char pointer" any more.
Absolutely. Very good point.
> However, using the logic from git_env_bool(), it can go away anyway,
> wouldn't it ?
True.
If we are doing clean-ups in this area, we may want to also stop
doing "== 0" comparisons on lines the patch touches while at it.
> diff --git a/write-or-die.c b/write-or-die.c
> index 42a2dc73cd..01b042bf12 100644
> --- a/write-or-die.c
> +++ b/write-or-die.c
> @@ -13,21 +13,21 @@
> * more. So we just ignore that case instead (and hope we get
> * the right error code on the flush).
> *
> + * The flushing can be skipped like this:
> + * GIT_FLUSH=0 git-rev-list HEAD
> + *
> * If the file handle is stdout, and stdout is a file, then skip the
> - * flush entirely since it's not needed.
> + * flush as well since it's not needed.
> */
> void maybe_flush_or_die(FILE *f, const char *desc)
> {
> static int skip_stdout_flush = -1;
> struct stat st;
> - char *cp;
>
> if (f == stdout) {
> if (skip_stdout_flush < 0) {
> - /* NEEDSWORK: make this a normal Boolean */
> - cp = getenv("GIT_FLUSH");
> - if (cp)
> - skip_stdout_flush = (atoi(cp) == 0);
> + if (git_env_bool("GIT_FLUSH", -1) == 0)
> + skip_stdout_flush = 1;
> else if ((fstat(fileno(stdout), &st) == 0) &&
> S_ISREG(st.st_mode))
> skip_stdout_flush = 1;
next prev parent reply other threads:[~2024-01-02 16:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-30 16:54 [PATCH] write-or-die: make GIT_FLUSH a Boolean environment variable Chandra Pratap via GitGitGadget
2024-01-01 8:24 ` Torsten Bögershausen
2024-01-02 16:29 ` Junio C Hamano [this message]
2024-01-03 7:58 ` [PATCH v2] " Chandra Pratap via GitGitGadget
2024-01-03 8:22 ` Patrick Steinhardt
2024-01-03 17:15 ` Taylor Blau
2024-01-03 18:42 ` Torsten Bögershausen
2024-01-03 19:18 ` Junio C Hamano
2024-01-04 17:35 ` Taylor Blau
2024-01-03 17:13 ` Junio C Hamano
2024-01-04 10:20 ` [PATCH v3] " Chandra Pratap via GitGitGadget
2024-01-04 17:36 ` Taylor Blau
2024-01-04 18:35 ` Junio C Hamano
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=xmqqil4bg0me.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=chandrapratap3519@gmail.com \
--cc=chandrapratap376@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=tboegi@web.de \
/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.