From: Junio C Hamano <gitster@pobox.com>
To: "Đoàn Trần Công Danh" <congdanhqx@gmail.com>
Cc: Denton Liu <liu.denton@gmail.com>,
Git Mailing List <git@vger.kernel.org>, Jeff King <peff@peff.net>
Subject: Re: [PATCH] pkt-line: extract out PACKET_HEADER_SIZE
Date: Sat, 13 Jun 2020 09:51:28 -0700 [thread overview]
Message-ID: <xmqqimfuzz73.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <20200613142306.GA4680@danh.dev> (=?utf-8?B?IsSQb8OgbiBUcg==?= =?utf-8?B?4bqnbiBDw7RuZw==?= Danh"'s message of "Sat, 13 Jun 2020 21:23:06 +0700")
Đoàn Trần Công Danh <congdanhqx@gmail.com> writes:
>> void packet_flush(int fd)
>> {
>> - packet_trace("0000", 4, 1);
>> - if (write_in_full(fd, "0000", 4) < 0)
>> + packet_trace("0000", PACKET_HEADER_SIZE, 1);
>> + if (write_in_full(fd, "0000", PACKET_HEADER_SIZE) < 0)
>
> I think the magic number 4 is easier to follow than some macro
> PACKET_HEADER_SIZE defined elsewhere. Because reader may judge that is
> the size of "0000"
I hate to admit it immensely, but I tend to agree with you. In the
context of this single call,
write_in_full(fd, "0000", 4)
write_in_full(fd, "0000", PACKET_HEADER_SIZE)
I find the former vastly easier.
> How about (this ugly code):
>
> packet_trace("0000", sizeof "0000" - 1, 1);
> if (write_in_full(fd, "0000", sizeof "0000" - 1) < 0)
Yeah, that is ugly. I was thinking more in the direction of
replacing these three-argument write_in_full with something like
#define write_constant(fd, constant_string) \
write_in_full((fd), (constant_string), strlen(constant_string))
with some preprocessor magic to make the compilation break when the
second parameter to the macro is not a string constant.
next prev parent reply other threads:[~2020-06-13 16:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-13 13:43 [PATCH] pkt-line: extract out PACKET_HEADER_SIZE Denton Liu
2020-06-13 14:23 ` Đoàn Trần Công Danh
2020-06-13 14:39 ` Denton Liu
2020-06-13 16:51 ` Junio C Hamano [this message]
2020-06-14 18:24 ` Junio C Hamano
2020-06-14 7:31 ` Denton Liu
2020-06-14 7:31 ` [PATCH v2 0/3] pkt-line: war on magical `4` literal Denton Liu
2020-06-14 7:31 ` [PATCH v2 1/3] remote-curl: use strlen() instead of magic numbers Denton Liu
2020-06-14 7:31 ` [PATCH v2 2/3] pkt-line: use string versions of functions Denton Liu
2020-06-14 8:31 ` Đoàn Trần Công Danh
2020-06-14 9:07 ` [PATCH v2] " Denton Liu
2020-06-14 21:35 ` Junio C Hamano
2020-06-14 22:28 ` Denton Liu
2020-06-15 12:32 ` Đoàn Trần Công Danh
2020-06-14 7:32 ` [PATCH v2 3/3] pkt-line: extract out PACKET_HEADER_SIZE Denton Liu
2020-06-14 21:32 ` [PATCH v2 0/3] pkt-line: war on magical `4` literal Junio C Hamano
2020-06-23 17:55 ` [PATCH v3 " Denton Liu
2020-06-23 17:55 ` [PATCH v3 1/3] remote-curl: use strlen() instead of magic numbers Denton Liu
2020-06-23 18:54 ` Jeff King
2020-06-23 19:39 ` Junio C Hamano
2020-06-23 17:55 ` [PATCH v3 2/3] pkt-line: use string versions of functions Denton Liu
2020-06-23 19:11 ` Jeff King
2020-06-23 17:55 ` [PATCH v3 3/3] pkt-line: extract out PACKET_HEADER_SIZE Denton Liu
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=xmqqimfuzz73.fsf@gitster.c.googlers.com \
--to=gitster@pobox.com \
--cc=congdanhqx@gmail.com \
--cc=git@vger.kernel.org \
--cc=liu.denton@gmail.com \
--cc=peff@peff.net \
/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;
as well as URLs for NNTP newsgroup(s).