From 691a433ec15d5a3e113f2712956d2a14347a5bd2 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Sat, 28 Nov 2009 14:12:53 +0100 Subject: [PATCH] Use __in64 type for 64-bit YAZ on Windows --- include/yaz/nmem.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/include/yaz/nmem.h b/include/yaz/nmem.h index 8e49fee..fb7910c 100644 --- a/include/yaz/nmem.h +++ b/include/yaz/nmem.h @@ -43,20 +43,23 @@ YAZ_BEGIN_CDECL /** \brief NMEM handle (an opaque pointer to memory) */ typedef struct nmem_control *NMEM; -#ifdef _MSC_VER -#define NMEM_64 0 -#endif - /** \brief Set to 1 if YAZ BER integer is 64-bit ; 0 otherwise */ #ifndef NMEM_64 #define NMEM_64 1 #endif #if NMEM_64 -/** \brief BER/utility integer (64-bit or more) */ + +#ifdef _MSC_VER +/* Visual Studio. 6.0 and later supports this */ +typedef __int64 nmem_int_t; +#define NMEM_INT_PRINTF "%I64d" +#else +/* C99 */ typedef long long int nmem_int_t; -/** \brief printf format for nmem_int_t type */ #define NMEM_INT_PRINTF "%lld" +#endif + #else /** \brief BER/utility integer (32-bit on most platforms) */ typedef int nmem_int_t; -- 1.7.10.4