Fix bitrotate module.
authorSimon Josefsson <simon@josefsson.org>
Mon, 1 Sep 2008 07:27:04 +0000 (09:27 +0200)
committerSimon Josefsson <simon@josefsson.org>
Mon, 1 Sep 2008 07:27:04 +0000 (09:27 +0200)
ChangeLog
lib/bitrotate.h
modules/bitrotate

index c4682c9..d085060 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-09-01  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/bitrotate (configure.ac): Need
+       AC_REQUIRE([AC_C_INLINE]).
+       (Description): Mention stdint.h.  Reported by Bruno Haible
+       <bruno@clisp.org>.
+
+       * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
+       Paolo Bonzini <bonzini@gnu.org>.
+
 2008-08-31  Bruno Haible  <bruno@clisp.org>
 
        Assume Solaris specific bi-arch conventions on Solaris systems.
index f3b6a66..8123a5c 100644 (file)
@@ -45,7 +45,7 @@ rotr32 (uint32_t x, int n)
 static inline uint16_t
 rotl16 (uint16_t x, int n)
 {
-  return ((x << n) | (x >> (16 - n))) & 0xFFFFFFFF;
+  return ((x << n) | (x >> (16 - n))) & 0xFFFF;
 }
 
 /* Given an unsigned 16-bit argument X, return the value corresponding
@@ -54,7 +54,7 @@ rotl16 (uint16_t x, int n)
 static inline uint16_t
 rotr16 (uint16_t x, int n)
 {
-  return ((x >> n) | (x << (16 - n))) & 0xFFFFFFFF;
+  return ((x >> n) | (x << (16 - n))) & 0xFFFF;
 }
 
 #endif /* _GL_BITROTATE_H */
index df94a61..064519c 100644 (file)
@@ -1,5 +1,5 @@
 Description:
-Rotate bits in 16 and 32 bit integers.
+Rotate bits in 16 and 32 bit integers using stdint.h.
 
 Files:
 lib/bitrotate.h
@@ -7,6 +7,7 @@ lib/bitrotate.h
 Depends-on:
 
 configure.ac:
+AC_REQUIRE([AC_C_INLINE])
 
 Makefile.am:
 lib_SOURCES += bitrotate.h