320 #define GOTO_IF_MACRO_MUTEX(c, e, m, g) do { if (c) { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } } while (0) |
320 #define GOTO_IF_MACRO_MUTEX(c, e, m, g) do { if (c) { if (e) __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); goto g; } } while (0) |
321 |
321 |
322 #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) ) |
322 #define __PHYSFS_ARRAYLEN(x) ( (sizeof (x)) / (sizeof (x[0])) ) |
323 |
323 |
324 #ifdef PHYSFS_NO_64BIT_SUPPORT |
324 #ifdef PHYSFS_NO_64BIT_SUPPORT |
325 #define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x)) |
325 /* if a 32bit compiler sees something with this many bits: 0xFFFFFFFFFFFFFFFF |
326 #define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x)) |
326 * it doesn't know if it really means 64bit or if it's supposed to squeeze |
|
327 * it into 32 bit, so without the ULL it squeezes the number to 32 bit, |
|
328 * with it it forces it to be 64bits |
|
329 */ |
|
330 #define __PHYSFS_SI64(x) ((PHYSFS_sint64) (x##LL)) |
|
331 #define __PHYSFS_UI64(x) ((PHYSFS_uint64) (x##ULL)) |
327 #elif (defined __GNUC__) |
332 #elif (defined __GNUC__) |
328 #define __PHYSFS_SI64(x) x##LL |
333 #define __PHYSFS_SI64(x) x##LL |
329 #define __PHYSFS_UI64(x) x##ULL |
334 #define __PHYSFS_UI64(x) x##ULL |
330 #elif (defined _MSC_VER) |
335 #elif (defined _MSC_VER) |
331 #define __PHYSFS_SI64(x) x##i64 |
336 #define __PHYSFS_SI64(x) x##i64 |