which will stack allocate small (128 or less bytes) blocks and Malloc the
rest...naturally these now have to be paired with __PHYSFS_smallFree() calls,
so you can't be as lazy as a basic alloca() would let you be. The benefit is
both less malloc pressure for those temporary allocations and better stack
overflow safety (so if some jerk tries to push a 78 megabyte string through
the library as a filename, we won't try to strcpy it to the stack).
malloc/realloc/free allocator, I moved it into physfs.c as a default, which
is used if the platform layer doesn't offer a platform-specific default
allocator, which none do at this point, but will soon.
platform-specific stricmp implementations, changed appropriate calls to an
ASCII-only stricmp that ignores locale. Fixed case on UTF-8 API entry points.
#ifdefs...this will make it easier to "embed" this library in other projects
or use a different build system: just push everything through the compiler
with preprocessor defines for the parts you want/need...platform modules are
determined automatically without the build system needing to intervene, so
you just have to #define the archivers, etc that you want.