Thread (1 message) 1 message, 1 author, 2020-06-13

Re: [PATCH] pkt-line: extract out PACKET_HEADER_SIZE

From: Junio C Hamano <hidden>
Date: 2020-06-13 16:51:36

Đoàn Trần Công Danh  [off-list ref] writes:
quoted
 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help