From c92f3035f93c3f1896d25e8423dafb5b5cbf1b88 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 24 Aug 2010 10:03:25 -0400 Subject: [PATCH] Made __PHYSFS_ui64FitsAddressSpace's behaviour match its name. --- src/physfs.c | 4 ++-- src/physfs_internal.h | 4 ++-- src/platform_macosx.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/physfs.c b/src/physfs.c index a9176b4..10bfdc3 100644 --- a/src/physfs.c +++ b/src/physfs.c @@ -2246,7 +2246,7 @@ const PHYSFS_Allocator *PHYSFS_getAllocator(void) static void *mallocAllocatorMalloc(PHYSFS_uint64 s) { - BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); + BAIL_IF_MACRO(!__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); #undef malloc return malloc((size_t) s); } /* mallocAllocatorMalloc */ @@ -2254,7 +2254,7 @@ static void *mallocAllocatorMalloc(PHYSFS_uint64 s) static void *mallocAllocatorRealloc(void *ptr, PHYSFS_uint64 s) { - BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); + BAIL_IF_MACRO(!__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); #undef realloc return realloc(ptr, (size_t) s); } /* mallocAllocatorRealloc */ diff --git a/src/physfs_internal.h b/src/physfs_internal.h index f4dc28e..641e5a4 100644 --- a/src/physfs_internal.h +++ b/src/physfs_internal.h @@ -1046,8 +1046,8 @@ void __PHYSFS_sort(void *entries, PHYSFS_uint32 max, * size_t, suitable to pass to malloc. This is kinda messy, but effective. */ #define __PHYSFS_ui64FitsAddressSpace(s) ( \ - (sizeof (PHYSFS_uint64) > sizeof (size_t)) && \ - ((s) > (__PHYSFS_UI64(0xFFFFFFFFFFFFFFFF) >> (64-(sizeof(size_t)*8)))) \ + (sizeof (PHYSFS_uint64) <= sizeof (size_t)) || \ + ((s) < (__PHYSFS_UI64(0xFFFFFFFFFFFFFFFF) >> (64-(sizeof(size_t)*8)))) \ ) diff --git a/src/platform_macosx.c b/src/platform_macosx.c index a08d945..1d79a7d 100644 --- a/src/platform_macosx.c +++ b/src/platform_macosx.c @@ -324,14 +324,14 @@ static void macosxAllocatorDeinit(void) static void *macosxAllocatorMalloc(PHYSFS_uint64 s) { - BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); + BAIL_IF_MACRO(!__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); return CFAllocatorAllocate(cfallocdef, (CFIndex) s, 0); } /* macosxAllocatorMalloc */ static void *macosxAllocatorRealloc(void *ptr, PHYSFS_uint64 s) { - BAIL_IF_MACRO(__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); + BAIL_IF_MACRO(!__PHYSFS_ui64FitsAddressSpace(s), ERR_OUT_OF_MEMORY, NULL); return CFAllocatorReallocate(cfallocdef, ptr, (CFIndex) s, 0); } /* macosxAllocatorRealloc */