X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fnmem.h;h=13a3a8aef69d8fa4846dea513589c4e039cc2504;hb=82130a0421d4d15df51078dd58aa8710e370a8ef;hp=39c47eb76956b52f336d434d7ba5116880809f93;hpb=e6139770a5e990b966f7704137588f5e9cedaf25;p=yaz-moved-to-github.git diff --git a/include/yaz/nmem.h b/include/yaz/nmem.h index 39c47eb..13a3a8a 100644 --- a/include/yaz/nmem.h +++ b/include/yaz/nmem.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2009 Index Data. + * Copyright (C) 1995-2010 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -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 */ +#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