summaryrefslogtreecommitdiff
path: root/contrib/pgcrypto/crypt-blowfish.c
diff options
context:
space:
mode:
authorTom Lane2020-05-01 21:28:00 +0000
committerTom Lane2020-05-01 21:28:00 +0000
commit0da06d9faf9e865c7d16a358a30ebe1a0014a709 (patch)
tree369f6076d0fe7f51f2a6159c49ae993dd9484c9d /contrib/pgcrypto/crypt-blowfish.c
parentd66935448f41b1e0af11a939b6c5aaa9a619524a (diff)
Get rid of trailing semicolons in C macro definitions.
Writing a trailing semicolon in a macro is almost never the right thing, because you almost always want to write a semicolon after each macro call instead. (Even if there was some reason to prefer not to, pgindent would probably make a hash of code formatted that way; so within PG the rule should basically be "don't do it".) Thus, if we have a semi inside the macro, the compiler sees "something;;". Much of the time the extra empty statement is harmless, but it could lead to mysterious syntax errors at call sites. In perhaps an overabundance of neatnik-ism, let's run around and get rid of the excess semicolons whereever possible. The only thing worse than a mysterious syntax error is a mysterious syntax error that only happens in the back branches; therefore, backpatch these changes where relevant, which is most of them because most of these mistakes are old. (The lack of reported problems shows that this is largely a hypothetical issue, but still, it could bite us in some future patch.) John Naylor and Tom Lane Discussion: https://postgr.es/m/CACPNZCs0qWTqJ2QUSGJ07B7uvAvzMb-KbG2q+oo+J3tsWN5cqw@mail.gmail.com
Diffstat (limited to 'contrib/pgcrypto/crypt-blowfish.c')
-rw-r--r--contrib/pgcrypto/crypt-blowfish.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/pgcrypto/crypt-blowfish.c b/contrib/pgcrypto/crypt-blowfish.c
index ed69c0c6bb3..a663852ccf9 100644
--- a/contrib/pgcrypto/crypt-blowfish.c
+++ b/contrib/pgcrypto/crypt-blowfish.c
@@ -469,7 +469,7 @@ BF_swap(BF_word *x, int count)
tmp3 ^= tmp2; \
(R) ^= data.ctx.P[(N) + 1]; \
tmp3 += tmp1; \
- (R) ^= tmp3;
+ (R) ^= tmp3
#else
/* Architectures with no complicated addressing modes supported */
#define BF_INDEX(S, i) \
@@ -490,7 +490,7 @@ BF_swap(BF_word *x, int count)
tmp3 ^= tmp2; \
(R) ^= data.ctx.P[(N) + 1]; \
tmp3 += tmp1; \
- (R) ^= tmp3;
+ (R) ^= tmp3
#endif
/*
@@ -516,17 +516,18 @@ BF_swap(BF_word *x, int count)
BF_ROUND(R, L, 15); \
tmp4 = R; \
R = L; \
- L = tmp4 ^ data.ctx.P[BF_N + 1];
+ L = tmp4 ^ data.ctx.P[BF_N + 1]
#if BF_ASM
extern void _BF_body_r(BF_ctx *ctx);
#define BF_body() \
- _BF_body_r(&data.ctx);
+ _BF_body_r(&data.ctx)
#else
#define BF_body() \
+do { \
L = R = 0; \
ptr = data.ctx.P; \
do { \
@@ -542,7 +543,8 @@ extern void _BF_body_r(BF_ctx *ctx);
BF_ENCRYPT; \
*(ptr - 2) = L; \
*(ptr - 1) = R; \
- } while (ptr < &data.ctx.S[3][0xFF]);
+ } while (ptr < &data.ctx.S[3][0xFF]); \
+} while (0)
#endif
static void