block-sha1: drop trailing semicolon from macro definition
23119ffb4e (block-sha1: put expanded macro parameters in parentheses, 2012-07-22) added a trailing semicolon to the definition of SHA_MIX without explanation. It doesn't matter with the current code, but make sure to avoid potential surprises by removing it again. This allows the macro to be used almost like a function: Users can combine it with operators of their choice, but still must not pass an expression with side-effects as a parameter, as it would be evaluated multiple times. Signed-off-by: René Scharfe <l.s.r@web.de> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe committed
Mar 13, 2021 at 17:17 UTC
3d8cbbf2c35141377a86a57a862e74c270e59a2a
1 file changed
+1
-1
block-sha1/sha1.c
+1
-1
@@ -70,7 +70,7 @@
70
* the input data, the next mix it from the 512-bit array.
71
*/
72
#define SHA_SRC(t) get_be32((unsigned char *) block + (t)*4)
73
-#define SHA_MIX(t) SHA_ROL(W((t)+13) ^ W((t)+8) ^ W((t)+2) ^ W(t), 1);
73
+#define SHA_MIX(t) SHA_ROL(W((t)+13) ^ W((t)+8) ^ W((t)+2) ^ W(t), 1)
74
75
#define SHA_ROUND(t, input, fn, constant, A, B, C, D, E) do { \
76
unsigned int TEMP = input(t); setW(t, TEMP); \