]> git.ipfire.org Git - thirdparty/git.git/commitdiff
diff-delta: avoid using the comma operator
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 27 Mar 2025 11:52:59 +0000 (11:52 +0000)
committerJunio C Hamano <gitster@pobox.com>
Sat, 29 Mar 2025 00:38:10 +0000 (17:38 -0700)
The comma operator is a somewhat obscure C feature that is often used by
mistake and can even cause unintentional code flow. That is why the
`-Wcomma` option of clang was introduced: To identify unintentional uses
of the comma operator.

Intentional uses include situations where one wants to avoid curly
brackets around multiple statements that need to be guarded by a
condition. This is the case here, as the repetitive nature of the
statements is easier to see for a human reader this way. At least in my
opinion.

However, opinions on this differ wildly, take 10 people and you have 10
different preferences.

On the Git mailing list, it seems that the consensus is to use the long
form instead, so let's do just that.

Suggested-by: Phillip Wood <phillip.wood123@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff-delta.c

index a4faf73829be00c1e5d3d12d56a87085cc1abcfd..71d37368d68a18eff4b17ee24ab69c2ec9781acf 100644 (file)
@@ -438,19 +438,31 @@ create_delta(const struct delta_index *index,
                        op = out + outpos++;
                        i = 0x80;
 
-                       if (moff & 0x000000ff)
-                               out[outpos++] = moff >> 0,  i |= 0x01;
-                       if (moff & 0x0000ff00)
-                               out[outpos++] = moff >> 8,  i |= 0x02;
-                       if (moff & 0x00ff0000)
-                               out[outpos++] = moff >> 16, i |= 0x04;
-                       if (moff & 0xff000000)
-                               out[outpos++] = moff >> 24, i |= 0x08;
-
-                       if (msize & 0x00ff)
-                               out[outpos++] = msize >> 0, i |= 0x10;
-                       if (msize & 0xff00)
-                               out[outpos++] = msize >> 8, i |= 0x20;
+                       if (moff & 0x000000ff) {
+                               out[outpos++] = moff >> 0;
+                               i |= 0x01;
+                       }
+                       if (moff & 0x0000ff00) {
+                               out[outpos++] = moff >> 8;
+                               i |= 0x02;
+                       }
+                       if (moff & 0x00ff0000) {
+                               out[outpos++] = moff >> 16;
+                               i |= 0x04;
+                       }
+                       if (moff & 0xff000000) {
+                               out[outpos++] = moff >> 24;
+                               i |= 0x08;
+                       }
+
+                       if (msize & 0x00ff) {
+                               out[outpos++] = msize >> 0;
+                               i |= 0x10;
+                       }
+                       if (msize & 0xff00) {
+                               out[outpos++] = msize >> 8;
+                               i |= 0x20;
+                       }
 
                        *op = i;