(rol): Define (from GnuPG).
authorJim Meyering <jim@meyering.net>
Mon, 25 Sep 2000 00:00:58 +0000 (00:00 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 25 Sep 2000 00:00:58 +0000 (00:00 +0000)
lib/md5.h

index b7645ec..0a6aa5f 100644 (file)
--- a/lib/md5.h
+++ b/lib/md5.h
@@ -143,4 +143,19 @@ extern int md5_stream __P ((FILE *stream, void *resblock));
    digest.  */
 extern void *md5_buffer __P ((const char *buffer, size_t len, void *resblock));
 
+/* The following is from gnupg-1.0.2's cipher/bithelp.h.  */
+/* Rotate a 32 bit integer by n bytes */
+#if defined(__GNUC__) && defined(__i386__)
+static inline md5_uint32
+rol(md5_uint32 x, int n)
+{
+  __asm__("roll %%cl,%0"
+         :"=r" (x)
+         :"0" (x),"c" (n));
+  return x;
+}
+#else
+# define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
+#endif
+
 #endif