The improved --xattrs option is landing on the trunk.
[rsync/rsync.git] / byteorder.h
index 44a5977..2261e47 100644 (file)
@@ -2,11 +2,11 @@
  * Simple byteorder handling.
  *
  * Copyright (C) 1992-1995 Andrew Tridgell
+ * Copyright (C) 2007 Wayne Davison
  *
  * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -36,7 +36,8 @@
 
 /* Our 64-bit numbers are sent in MSB-first order so that we can use
  * the highest bits to indicate the number of bytes sent. */
-#define NVAL2(b,m) ((UVAL(b,0)&~(m))<<8|UVAL(b,1))
+#define NVAL1(b,m) (UVAL(b,0)&~(uint32)(m))
+#define NVAL2(b,m) (NVAL1(b,m)<<8|UVAL(b,1))
 #define NVAL3(b,m) (NVAL2(b,m)<<8|UVAL(b,2))
 #define NVAL4(b,m) (NVAL3(b,m)<<8|UVAL(b,3))
 #define NVAL5(b,m) ((int64)NVAL4(b,m)<<8|UVAL(b,4))