diff --git a/ChangeLog b/ChangeLog index 00ba6c91c1..d97073349e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jan 30 17:19:46 2011 Tanaka Akira + + * missing/crypt.c: parenthesize macro arguments. + Sun Jan 30 16:40:27 2011 Nobuyoshi Nakada * test/rubygems/test_gem_security.rb (TestGemSecurity): valid only diff --git a/missing/crypt.c b/missing/crypt.c index f3d2084844..68a4d2bf13 100644 --- a/missing/crypt.c +++ b/missing/crypt.c @@ -258,21 +258,21 @@ typedef union { */ #define TO_SIX_BIT(rslt, src) { \ C_block cvt; \ - cvt.b[0] = (unsigned char)src; src >>= 6; \ - cvt.b[1] = (unsigned char)src; src >>= 6; \ - cvt.b[2] = (unsigned char)src; src >>= 6; \ - cvt.b[3] = (unsigned char)src; \ - rslt = (cvt.b32.i0 & 0x3f3f3f3fL) << 2; \ + cvt.b[0] = (unsigned char)(src); (src) >>= 6; \ + cvt.b[1] = (unsigned char)(src); (src) >>= 6; \ + cvt.b[2] = (unsigned char)(src); (src) >>= 6; \ + cvt.b[3] = (unsigned char)(src); \ + (rslt) = (cvt.b32.i0 & 0x3f3f3f3fL) << 2; \ } /* * These macros may someday permit efficient use of 64-bit integers. */ -#define ZERO(d,d0,d1) d0 = 0, d1 = 0 -#define LOAD(d,d0,d1,bl) d0 = (bl).b32.i0, d1 = (bl).b32.i1 -#define LOADREG(d,d0,d1,s,s0,s1) d0 = s0, d1 = s1 -#define OR(d,d0,d1,bl) d0 |= (bl).b32.i0, d1 |= (bl).b32.i1 -#define STORE(s,s0,s1,bl) (bl).b32.i0 = s0, (bl).b32.i1 = s1 +#define ZERO(d,d0,d1) ((d0) = 0, (d1) = 0) +#define LOAD(d,d0,d1,bl) ((d0) = (bl).b32.i0, (d1) = (bl).b32.i1) +#define LOADREG(d,d0,d1,s,s0,s1) ((d0) = (s0), (d1) = (s1)) +#define OR(d,d0,d1,bl) ((d0) |= (bl).b32.i0, (d1) |= (bl).b32.i1) +#define STORE(s,s0,s1,bl) ((bl).b32.i0 = (s0), (bl).b32.i1 = (s1)) #define DCL_BLOCK(d,d0,d1) long d0, d1 #if defined(LARGEDATA) @@ -280,27 +280,27 @@ typedef union { #define LGCHUNKBITS 3 #define CHUNKBITS (1<b32.i0; \ - B.b32.i1 = k ^ q1 ^ kp->b32.i1; \ + k = ((q0) ^ (q1)) & SALT; \ + B.b32.i0 = k ^ (q0) ^ kp->b32.i0; \ + B.b32.i1 = k ^ (q1) ^ kp->b32.i1; \ kp = (C_block *)((char *)kp+ks_inc); \ \ - DOXOR(p0, p1, 0); \ - DOXOR(p0, p1, 1); \ - DOXOR(p0, p1, 2); \ - DOXOR(p0, p1, 3); \ - DOXOR(p0, p1, 4); \ - DOXOR(p0, p1, 5); \ - DOXOR(p0, p1, 6); \ - DOXOR(p0, p1, 7); + DOXOR((p0), (p1), 0); \ + DOXOR((p0), (p1), 1); \ + DOXOR((p0), (p1), 2); \ + DOXOR((p0), (p1), 3); \ + DOXOR((p0), (p1), 4); \ + DOXOR((p0), (p1), 5); \ + DOXOR((p0), (p1), 6); \ + DOXOR((p0), (p1), 7); CRUNCH(L0, L1, R0, R1); CRUNCH(R0, R1, L0, L1);