Add HAVE_INT64TOINT32 test in stds.h
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 2 Jul 2012 05:42:35 +0000 (01:42 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 3 Jul 2012 02:24:26 +0000 (19:24 -0700)
Windows SDK v6.0 and above include a platform specific
definition of Int64ToInt32.  Use the platform definition when
available.

Change-Id: I8081ed1c33d2ac11287ebaa1eaef1f77682575cf
Reviewed-on: http://gerrit.openafs.org/7622
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

src/config/param.amd64_w2k.h
src/config/param.i386_w2k.h
src/config/param.i64_w2k.h
src/config/stds.h

index c7427ad..ed95b20 100644 (file)
@@ -21,6 +21,7 @@
 #define AFS_HAVE_STATVFS    0  /* System doesn't support statvfs */
 #define AFS_KRB5_ERROR_ENV  1   /* fetch_krb5_error_message() available in afsutil.lib */
 #define HAVE_SSIZE_T        1
+#define HAVE_INT64TOINT32   1
 
 #include <afs/afs_sysnames.h>
 #define SYS_NAME_ID    SYS_NAME_ID_amd64_w2k
index b98c22a..cc00cdd 100644 (file)
@@ -21,6 +21,7 @@
 #define AFS_HAVE_STATVFS    0  /* System doesn't support statvfs */
 #define AFS_KRB5_ERROR_ENV  1   /* fetch_krb5_error_message() available in afsutil.lib */
 #define HAVE_SSIZE_T        1
+#define HAVE_INT64TOINT32   1
 
 #include <afs/afs_sysnames.h>
 #define SYS_NAME_ID    SYS_NAME_ID_i386_w2k
index f6dc1c9..703ab0a 100644 (file)
@@ -19,7 +19,7 @@
 #define AFS_64BIT_IOPS_ENV  1
 #define AFS_NAMEI_ENV       1  /* User space interface to file system */
 #define AFS_HAVE_STATVFS    0  /* System doesn't support statvfs */
-#define HAVE_SSIZE_T        1
+#define HAVE_INT64TOINT32   1
 
 #include <afs/afs_sysnames.h>
 #define SYS_NAME_ID    SYS_NAME_ID_i64_w2k
index cf023d2..8aa2eff 100644 (file)
@@ -85,7 +85,9 @@ typedef unsigned long long afs_uint64;
 #define CompareInt64(a,b) (afs_int64)(a) - (afs_int64)(b)
 #define CompareUInt64(a,b) (afs_uint64)(a) - (afs_uint64)(b)
 #define NonZeroInt64(a)                (a)
+#ifndef HAVE_INT64TOINT32
 #define Int64ToInt32(a)    (a) & MAX_AFS_UINT32
+#endif
 #define FillInt64(t,h,l) (t) = ((afs_int64)(h) << 32) | (l);
 #define SplitInt64(t,h,l) (h) = ((afs_int64)t) >> 32; (l) = (t) & MAX_AFS_UINT32;
 #define RoundInt64ToInt32(a)    (a > MAX_AFS_UINT32) ? MAX_AFS_UINT32 : a;