blob: ca31df4b2719a626b55fa9b22e3411e042599bf0 [file] [log] [blame]
--- KNOWN-BUGS 2008-12-13 15:31:49.000000000 -0500
+++ /dev/null 2008-12-13 02:05:21.751517562 -0500
@@ -1 +0,0 @@
-- cast-256 and rc6 do not work properly on Alpha (64 bit) machines
--- lib/mcrypt_modules.h.orig 2008-12-13 15:33:06.000000000 -0500
+++ lib/mcrypt_modules.h 2008-12-13 15:25:01.000000000 -0500
@@ -1,7 +1,7 @@
-#define rotl32(x,n) (((x) << ((word32)(n))) | ((x) >> (32 - (word32)(n))))
-#define rotr32(x,n) (((x) >> ((word32)(n))) | ((x) << (32 - (word32)(n))))
-#define rotl16(x,n) (((x) << ((word16)(n))) | ((x) >> (16 - (word16)(n))))
-#define rotr16(x,n) (((x) >> ((word16)(n))) | ((x) << (16 - (word16)(n))))
+#define rotl32(x,n) (((x) << ((word32)(n & 31))) | ((x) >> (32 - (word32)(n & 31))))
+#define rotr32(x,n) (((x) >> ((word32)(n & 31))) | ((x) << (32 - (word32)(n & 31))))
+#define rotl16(x,n) (((x) << ((word16)(n & 15))) | ((x) >> (16 - (word16)(n & 15))))
+#define rotr16(x,n) (((x) >> ((word16)(n & 15))) | ((x) << (16 - (word16)(n & 15))))
/* Use hardware rotations.. when available */
#ifdef swap32