Add HAVE_INT64TOINT32 test in stds.h

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>
This commit is contained in:
Jeffrey Altman 2012-07-02 01:42:35 -04:00
parent 6f779c1867
commit 7c23991151
4 changed files with 5 additions and 1 deletions

View 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

View 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

View 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

View 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;