diff --git a/libs/libdingaling/src/sha1.c b/libs/libdingaling/src/sha1.c index 513e4e0b7f..c54154a866 100644 --- a/libs/libdingaling/src/sha1.c +++ b/libs/libdingaling/src/sha1.c @@ -49,6 +49,10 @@ # endif #endif +#ifdef _MSC_VER +#define inline __inline +#endif + #include #include "sha1.h" @@ -95,7 +99,7 @@ static const char rcsid[] = static inline uint64_t _byteswap64(uint64_t x) { - uint32_t a = x >> 32; + uint32_t a = (uint32_t)(x >> 32); uint32_t b = (uint32_t) x; return ((uint64_t) BYTESWAP(b) << 32) | (uint64_t) BYTESWAP(a); } diff --git a/libs/libdingaling/src/sha1.h b/libs/libdingaling/src/sha1.h index 7a6beb7f5d..ff489fa7b9 100644 --- a/libs/libdingaling/src/sha1.h +++ b/libs/libdingaling/src/sha1.h @@ -34,6 +34,20 @@ #else # if HAVE_STDINT_H # include +# else +# ifndef uint32_t +# ifdef WIN32 +typedef unsigned __int8 uint8_t; +typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; +typedef unsigned __int64 uint64_t; +typedef __int8 int8_t; +typedef __int16 int16_t; +typedef __int32 int32_t; +typedef __int64 int64_t; +typedef unsigned long in_addr_t; +# endif +# endif # endif #endif