* 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
/* 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))