X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fnmem.h;h=2b86006277b4df861e9cdc66a2230ad28d8f41db;hb=d7cf0285e21b40c1fba6259d57bdabae94571bd5;hp=936432384afe62ec3eb0abcc2d5bfd72010e6e23;hpb=8356ea58313ee1f350226172cf99bfb0b7c5583c;p=yaz-moved-to-github.git diff --git a/include/yaz/nmem.h b/include/yaz/nmem.h index 9364323..2b86006 100644 --- a/include/yaz/nmem.h +++ b/include/yaz/nmem.h @@ -44,13 +44,22 @@ YAZ_BEGIN_CDECL typedef struct nmem_control *NMEM; /** \brief Set to 1 if YAZ BER integer is 64-bit ; 0 otherwise */ -#define NMEM_64 0 +#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; @@ -69,7 +78,7 @@ YAZ_EXPORT void nmem_reset(NMEM n); /** \brief returns size in bytes of memory for NMEM handle \returns number of bytes */ -YAZ_EXPORT int nmem_total(NMEM n); +YAZ_EXPORT size_t nmem_total(NMEM n); /** \brief allocates string on NMEM handle (similar strdup) \param mem HNEM handle @@ -147,7 +156,7 @@ YAZ_EXPORT void nmem_destroy(NMEM n); \param size number of bytes to be allocated \returns pointer to allocated memory */ -YAZ_EXPORT void *nmem_malloc(NMEM n, int size); +YAZ_EXPORT void *nmem_malloc(NMEM n, size_t size); YAZ_END_CDECL