Fix signed/unsigned problems
diff --git a/defs.h b/defs.h
index 236668f..3a2142d 100644
--- a/defs.h
+++ b/defs.h
@@ -534,10 +534,10 @@
 
 #if HAVE_LITTLE_ENDIAN_LONG_LONG
 #define LONG_LONG(_l,_h) \
-    ((long long)((unsigned long long)(_l) | ((unsigned long long)(_h)<<32)))
+    ((long long)((unsigned long long)(unsigned)(_l) | ((unsigned long long)(_h)<<32)))
 #else
 #define LONG_LONG(_l,_h) \
-    ((long long)((unsigned long long)(_h) | ((unsigned long long)(_l)<<32)))
+    ((long long)((unsigned long long)(unsigned)(_h) | ((unsigned long long)(_l)<<32)))
 #endif
 #endif