crypto libraries: use stdalign
[gnulib.git] / lib / md4.c
index aaa82e2..6807a83 100644 (file)
--- a/lib/md4.c
+++ b/lib/md4.c
@@ -24,8 +24,8 @@
 
 #include "md4.h"
 
-#include <stddef.h>
-#include <stdlib.h>
+#include <stdalign.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/types.h>
@@ -239,14 +239,7 @@ md4_process_bytes (const void *buffer, size_t len, struct md4_ctx *ctx)
   if (len >= 64)
     {
 #if !_STRING_ARCH_unaligned
-      /* To check alignment gcc has an appropriate operator.  Other
-         compilers don't.  */
-# if __GNUC__ >= 2
-#  define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0)
-# else
-#  define alignof(type) offsetof (struct { char c; type x; }, x)
-#  define UNALIGNED_P(p) (((size_t) p) % alignof (uint32_t) != 0)
-# endif
+# define UNALIGNED_P(p) ((uintptr_t) (p) % alignof (uint32_t) != 0)
       if (UNALIGNED_P (buffer))
         while (len > 64)
           {