changeset 10387:aab0e3ef7edc

Fix bitrotate module.
author Simon Josefsson <simon@josefsson.org>
date Mon, 01 Sep 2008 09:27:04 +0200
parents 67cf8265aeed
children 2710cb64f5be
files ChangeLog lib/bitrotate.h modules/bitrotate
diffstat 3 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/lib/bitrotate.h
+++ b/lib/bitrotate.h
@@ -45,7 +45,7 @@
 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 @@
 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 */
--- a/modules/bitrotate
+++ b/modules/bitrotate
@@ -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 @@
 Depends-on:
 
 configure.ac:
+AC_REQUIRE([AC_C_INLINE])
 
 Makefile.am:
 lib_SOURCES += bitrotate.h