Skip to content

Commit

Permalink
Don't use size_t in physfs.h, since it relies on C runtime headers.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Sep 6, 2005
1 parent bbb0cab commit 6459921
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 28 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG
Expand Up @@ -2,6 +2,9 @@
* CHANGELOG.
*/

09062005 - Happy September. Changed the allocation abstraction to use
PHYSFS_uint64 instead of size_t, so we don't have to include
system headers inside physfs.h.
08202005 - Fixed bug in verifyPath() that was breaking PHYSFS_setSaneConfig()
and other corner cases.
07242005 - Patched to compile on BeOS.
Expand Down
11 changes: 9 additions & 2 deletions physfs.h
Expand Up @@ -1857,14 +1857,21 @@ __EXPORT__ int PHYSFS_writeUBE64(PHYSFS_File *file, PHYSFS_uint64 val);
* Allocators are assumed to be reentrant by the caller; please mutex
* accordingly.
*
* Allocations are always discussed in 64-bits, for future expansion...we're
* on the cusp of a 64-bit transition, and we'll probably be allocating 6
* gigabytes like it's nothing sooner or later, and I don't want to change
* this again at that point. If you're on a 32-bit platform and have to
* downcast, it's okay to return NULL if the allocation is greater than
* 4 gigabytes, since you'd have to do so anyhow.
*
* \sa PHYSFS_setAllocator
*/
typedef struct
{
int (*Init)(void);
void (*Deinit)(void);
void *(*Malloc)(size_t);
void *(*Realloc)(void *, size_t);
void *(*Malloc)(PHYSFS_uint64);
void *(*Realloc)(void *, PHYSFS_uint64);
void (*Free)(void *);
} PHYSFS_Allocator;

Expand Down
4 changes: 2 additions & 2 deletions physfs_internal.h
Expand Up @@ -1682,14 +1682,14 @@ void __PHYSFS_platformAllocatorDeinit(void);
* This is used for allocation if the user hasn't selected their own
* allocator via PHYSFS_setAllocator().
*/
void *__PHYSFS_platformAllocatorMalloc(size_t s);
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s);

/*
* Implement realloc. It's safe to just pass through from the C runtime.
* This is used for allocation if the user hasn't selected their own
* allocator via PHYSFS_setAllocator().
*/
void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s);
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s);

/*
* Implement free. It's safe to just pass through from the C runtime.
Expand Down
14 changes: 10 additions & 4 deletions platform/macclassic.c
Expand Up @@ -939,17 +939,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down
14 changes: 10 additions & 4 deletions platform/os2.c
Expand Up @@ -754,17 +754,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down
14 changes: 10 additions & 4 deletions platform/pocketpc.c
Expand Up @@ -672,17 +672,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down
14 changes: 10 additions & 4 deletions platform/posix.c
Expand Up @@ -514,17 +514,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down
14 changes: 10 additions & 4 deletions platform/skeleton.c
Expand Up @@ -246,17 +246,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down
14 changes: 10 additions & 4 deletions platform/win32.c
Expand Up @@ -1122,17 +1122,23 @@ void __PHYSFS_platformAllocatorDeinit(void)
} /* __PHYSFS_platformAllocatorInit */


void *__PHYSFS_platformAllocatorMalloc(size_t s)
void *__PHYSFS_platformAllocatorMalloc(PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef malloc
return(malloc(s));
return(malloc((size_t) s));
} /* __PHYSFS_platformMalloc */


void *__PHYSFS_platformAllocatorRealloc(void *ptr, size_t s)
void *__PHYSFS_platformAllocatorRealloc(void *ptr, PHYSFS_uint64 s)
{
/* make sure s isn't larger than the address space of the platform... */
if ( s > (0xFFFFFFFFFFFFFFFF >> (64-(sizeof (size_t) * 8))) )
BAIL_MACRO(ERR_OUT_OF_MEMORY, NULL);
#undef realloc
return(realloc(ptr, s));
return(realloc(ptr, (size_t) s));
} /* __PHYSFS_platformRealloc */


Expand Down

0 comments on commit 6459921

Please sign in to comment.