#include int compConstant2(const unsigned char *x,const unsigned char *y) { unsigned int differentbits = 0; int i; #define F(i) differentbits |= x[i] ^ y[i]; for (i = 0; i<8; i++) { F(i); } return (1 & ((differentbits - 1) >> 8)) - 1; /* returns 0 if equal, 0xFF..FF otherwise */ } int main(void) { int comp=1; char pw[]="secret"; char in[7]; int result; result = compConstant2(pw, in); printf ("%d", result); }