From: Adam Dickmeiss Date: Sat, 28 Nov 2009 13:12:53 +0000 (+0100) Subject: Use __in64 type for 64-bit YAZ on Windows X-Git-Tag: v4.0.0~105 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=691a433ec15d5a3e113f2712956d2a14347a5bd2;ds=sidebyside Use __in64 type for 64-bit YAZ on Windows --- 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;