On Windows 64, long is of size 32 bits and not 64 bits. Also

LONG_BIT is not defined on Windows.


SVN revision: 49934
This commit is contained in:
Vincent Torri 2010-06-29 05:29:50 +00:00
parent 5da985c981
commit 383343f251
2 changed files with 9 additions and 1 deletions

View File

@ -385,3 +385,7 @@
* Release eet 1.3.2
2010-06-29 Vincent Torri
* On Windows 64, long is of size 32 bits and not 64 bits. Also
LONG_BIT is not defined on Windows.

View File

@ -1627,7 +1627,11 @@ eet_data_write(Eet_File *ef, Eet_Data_Descriptor *edd, const char *name, const v
static int
_eet_free_hash(void *data)
{
#ifdef _WIN64
__int64 ptr = (UINT_PTR)data;
#else
unsigned long ptr = (unsigned long)(data);
#endif
int hash;
hash = ptr;
@ -1635,7 +1639,7 @@ _eet_free_hash(void *data)
hash ^= ptr >> 16;
hash ^= ptr >> 24;
#if LONG_BIT != 32
#if defined (_WIN64) || ( (! defined (_WIN32)) && (LONG_BIT != 32) )
hash ^= ptr >> 32;
hash ^= ptr >> 40;
hash ^= ptr >> 48;