Moved more files from FILENAME to FILENAME.txt ...
authorRyan C. Gordon <icculus@icculus.org>
Sun, 11 Mar 2007 10:19:52 +0000
changeset 815 ca857540fd4f
parent 814 79940eb4d609
child 816 0c4ddd44112c
Moved more files from FILENAME to FILENAME.txt ...
CHANGELOG
CHANGELOG.txt
CREDITS
CREDITS.txt
TODO
TODO.txt
physfs.h
--- a/CHANGELOG	Sun Mar 11 10:17:37 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,523 +0,0 @@
-/*
- * CHANGELOG.
- */
-
-03112007 - Removed zlib_license_change.txt ... it's in Subversion and the 1.0
-           branch for history's sake. Added shared and static build options
-           to CMakeLists.txt, and the expected "make install" target.
-           Renamed some FILENAME files to FILENAME.txt, removed physfs.rc.
-03082007 - Fixed a comment in physfs.h. Renamed win32.c to windows.c.
-           Cleaned up whitespace/formatting in pocketpc.c. Updated PocketPC
-           code to expect UTF-8 strings from the higher level. Changed
-           PHYSFS_SUPPORTS_LZMA to PHYSFS_SUPPORTS_7Z. Killed some #ifdefs
-           in physfs.c. Moved to CMake...so long, autotools! Killed MIX
-           archiver, too.
-11052006 - More 7zip archiver work (thanks, Dennis!). Initial Unicode work.
-           Minor BeOS realpath tweak.
-09272006 - Reworked 7zip archiver (thanks, Dennis!).
-09232006 - Fixed typo in doxygen comment.
-04112006 - Added LZMA archiver...7zip support (thanks, Dennis!).
-03232006 - Added -fvisibility for gcc4 (http://gcc.gnu.org/wiki/Visibility)
-01012006 - Cleaned up overflow checks in platform memory allocators (thanks to
-           Nicolas Lebedenco for pointing out the original issue with
-           long long literals). Added physfs.rc (thanks, Dennis!). Changed my
-           email address. Removed acconfig.h.
-11282005 - Corrected docs on PHYSFS_setWriteDir().
-10122005 - Fixed locateInStringList() in physfs.c (thanks, Matze!). Patched
-           archivers/wad.c to compile.
-09192005 - Make unix mutexes recursive above pthread layer...fixes deadlock on
-           MacOS X, for now.
-09182005 - API BREAKAGE: PHYSFS_enumerateFilesCallback() now passes the
-           original directory name back to the app in the callback. This
-           API was only in 1.1.0, and wasn't promised to be stable at this
-           point. Please update your apps! Cleaned out a FIXME in file
-           enumeration that would confuse the library under certain
-           circumstances.
-09092005 - Some tweaks to PHYSFS_Allocator. Apparently configure.in doesn't
-           work like I thought for version bumps, so it thinks 1.1.0 isn't
-           binary compatible with 1.0...fixed, I think.
-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. Minor MingW fixes (but it's still
-           broken, I think).
-08202005 - Fixed bug in verifyPath() that was breaking PHYSFS_setSaneConfig()
-           and other corner cases.
-07242005 - Patched to compile on BeOS.
-07232005 - Fixed bug in zip archiver (thanks, Jörg Walter!).
-           More minor OS/2 tweaks. Updated zlib to 1.2.3, which properly
-           includes the security fix. Fixed "make dist" to handle .svn dirs
-           and other file changes. Removed "debian" directory. Allow a mount
-           point of NULL to be "/", per the documentation. Fixed warning in
-           physfs.c. Assert definition fix. Updated CWProjects.sit.
-           Upped version to 1.1.0 ... first release of 1.1 dev branch!
-07212005 - Patched to compile on OS/2 again.
-07132005 - Updated zlib to 1.2.2, and patched it for this security hole:
-           http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2096
-06122005 - Added support for mingw to Unix build process (thanks, Matze!).
-03162005 - Added missing translation and Portuguese support (thanks, Danny!).
-           MPW support and several MacOS Classic fixes (thanks, Chris!).
-           Changed CWProjects from SITX to SIT format, so OS9 users can
-           unpack it.
-03132005 - More mount work, added PHYSFS_getMountPoint() and more cleanups.
-           Replaced all the C runtime allocations with PhysFS allocation hooks.
-           Added pocketpc.c to EXTRA_DIST. Added allocation hooks to some
-           platform drivers. Updated Mac Classic build.
-03122005 - Added evil GOTO_*_MACRO_* macros. Fixed unix.c to compile again on
-           MacOS X. Added PHYSFS_mount() (thanks, Philip!). Cleaned up the
-           INSTALL and CREDITS files a little. Split off start of
-           verifySecurity() into a path sanitizer and changed entry points to
-           sanitize input paths into a stack-allocated buffer before further
-           processing. This removes the need for a malloc() for almost all
-           file system operations, and generally cleaned things up. Added a
-           "mount" command to test_physfs. Other general cleanups.
-02152005 - Minor comment fix in platform/pocketpc.c
-01052005 - Fixed HOG archiver file lookup (thanks, Chris!)
-12162004 - Fixed some documentation/header comment typos (thanks, Gaetan!)
-10302004 - Fixed a strcpy that should have been a strcat. (thanks, Tolga!)
-           Build system respects external CFLAGS now. (thanks, Adam!)
-           Fixed infinite loop in new enumeration code. (thanks, Adam!)
-10062004 - Removed profiling code from physfs.c.
-09292004 - Every API that can return a list of strings can now use a
-           callback mechanism if the application wants to do it's own
-           allocation or handling on a per-item basis. The guts of those
-           APIs that create string lists now use the callbacks themselves to
-           build the lists, too. The callback functionality goes all the way
-           down to the archivers and platform drivers where appropriate, which
-           cleans things up and simplifies some internal tasks very nicely.
-           Got rid of all the annoying forward declarations in all the
-           archivers and moved their PHYSFS_Archiver data to the end of the
-           file, since this was annoying me and I was getting sick of updating
-           function signatures in two places when the internal API changed.
-           Removed the code/data for LinkedStringLists...it isn't used anymore
-           now that the callback code is in place.
-09262004 - Did the same thing to FileHandles than I did to DirHandles, but
-           this triggered massive tweaking in physfs.c. A lot of code got
-           little cleanups, which was nice. Less malloc pressure, too, since
-           opening a file used to allocate a ton of crap and mush it
-           together...now it's basically down to one structure and the
-           instance data in whatever archiver. Minor varname tweak in win32.c
-           and pocketpc.c. Changed PHYSFS_file to PHYSFS_File to match the
-           rest of the API's naming scheme (but put a typedef for source
-           compatibility).
-09252004 - Cleaned up archiver interface to not deal with DirHandles anymore,
-           which simplifies things, removes some responsibility and code
-           duplication from the archivers, and trims some malloc pressure.
-           Ripped up the allocation hook code a little. We'll try to screw
-           with memory locking later, since it makes everything ugly and
-           complex. Oh well.
-09232004 - Started adding allocation hooks.
-09222004 - Happy September. Added Spanish translation back in.
-04092004 - Added MIX support for legacy Westwood titles (Thanks, Sebastian!).
-           Made bootstrap script MacOSX-friendly. Moved byteorder defines into
-           physfs_internal.h ...
-01152003 - Added Portuguese (Brazil) translation (Thanks, Danny!)
-
-
---- This is where the 1.1 development branch starts. ---
-
-12292003 - Updated CodeWarrior projects from CW6 to CW7, and made a bunch of
-           patches to get the Mac Classic target building again. Removed
-           zlib114 from CVS repository. Updated OS/2 build batch file.
-           Added Z_PREFIX define to Unix builds that use internal zlib.
-           Patched up some (outdated?) Visual C project files for zlib121.
-           Patched Doxyfile and physfs.h for newer Doxygen. Fixed OS/2
-           build script. Tweaked Project Builder files to at least compile.
-           Added some last minute BeOS and Cygwin build fixes. Updated
-           Visual Studio projects and tweaked some Makefile.am crap. Made
-           changes so Visual Studio files would pack with DOS endlines and...
-           Upped version to 1.0.0 (woohoo!).
-12222003 - Fixed a search-and-replace mistake in win32.c that preventing
-           compiling on Windows. (thanks, Brian!) Converted VC6 .dsp to use
-           zlib121; made Z_PREFIX=1 enabled by default to avoid link clashes;
-           put zlib files in separate logical folder in .dsp project; updated
-           zlib121/zconf.h to address remaining symbols that were still
-           causing link warnings.
-12182003 - WAD archiver now puts maps into subdirectories, making them
-           accessible to the application. (Thanks, Travis!) RPM spec and
-           Makefile.am* now package zlib_license_change.txt (Thanks, Edward!)
-12142003 - Added Doom WAD support (Thanks, Travis!)
-12082003 - Fixed some win32.c deficiencies that Robby Dermody pointed
-           out (thanks!)
-12072003 - Upgraded internal zlib to 1.2.1 (thanks, Adam!) Other
-           Unix build fixes.
-11112003 - Patches to make OS/2 support compile again.
-11092003 - Added __PHYSFS_platformStrnicmp(), and made qpak.c case-insensitive.
-09122003 - Happy September. Actually released current tree as 0.1.9.
-08262003 - Added MiNT support to build process and fixed cross-compiling
-           (thanks Patrice Mandin!)
-08092003 - Some Windows build fixes (thanks, Brian Hook!)
-07232003 - Upped version to 0.1.9.
-07202003 - Switched to zlib license (see new LICENSE text in root of source
-           tree, and zlib_license_switch.txt for details). Had to remove
-           archivers/qpak.c, the Ruby bindings from the extras directory, and
-           the Russian and Spanish translations, since those contributors
-           couldn't be contacted. If they show up, we'll readd them to the
-           project, otherwise we'll eventually replace their work...everyone
-           else signed on for the change. Committed a patch to convert all
-           tabs to spaces (Thanks, James!). Added patch to zip.c to fix
-           crash (thanks, dillo!). Reimplmented qpak.c, by welding together
-           bits of grp.c and zip.c. Ed contacted me, so I could readd his
-           contributions post-license change...I'm going to keep the new
-           qpak.c, but I've readded his Ruby bindings and Russian translations.
-06112003 - Patches to globbing.c to handle corner cases (thanks, Bradley!).
-06102003 - Added globbing.c to "extras" directory.
-05232003 - Rewrote MacOSX/Darwin CD-ROM detection code to use IOKit, which is
-           much much more accurate than the previous code. Updated
-           configure.in and Makefile.am.newautomake for some MacOSX stuff.
-05222003 - Fixed win32 crash if PHYSFS_init() is called with a NULL.
-05182003 - PocketPC fixes (thanks, David Hedbor!)
-05162003 - Compiler warning cleanup in HOG and MVL archivers (Thanks, Bradley!)
-04082003 - Minor changes to extras/abs-file.h (Thanks, Adam!)
-03302003 - Fixed seeking in uncompressed ZIP entries, and handle a
-           misbehaviour in Java's JAR creation tools. Thanks to "Tree" for
-           pointing these bugs out. Added HOG and MVL archive support for
-           Descent I and II (Thanks, Bradley Bell!). Added example code to
-           do case-insensitive file searches ("extras/ignorecase.*").
-03192003 - Fixed problem in PHYSFS_mkdir() when dirs to be created already
-           exist. Fixed problem where PHYSFS_mkdir() incorrectly tripped an
-           alarm in __PHYSFS_verifySecurity().
-03122003 - Attempt at cleaning up some type correctness for VC++6. Made QPAK
-           archiver case-insensitive (since Quake2 has problems without it).
-01302003 - Added buffering API to OS/2 build's exported symbol list. Updated
-           CWProjects.sit and made several fixes to get physfs building on
-           MacOS Classic again.
-01282003 - Fixed seeking in buffered files opened for read.
-01072003 - .NET assembly and C# wrapper by Gregory S. Read in the extras dir.
-01042003 - Added a hack for dealing with OSX bundles and newer PBProjects
-           (thanks, Eric Wing!). Added some missing files to "make dist".
-           Fixed minor Doxygen typo in PHYSFS_flush() docs. Upped version to
-           0.1.8.
-12172002 - Added Apple Project Builder support files (thanks, Eric Wing!).
-12112002 - Added Ruby bindings to extras directory (thanks, Ed Sinjiashvili!).
-           Patched win32.c to compile with Mingw32 (thanks, Niels Wagenaar!).
-12032002 - Adam updated his extras/abs-file.h for the new buffering API.
-12022002 - German translation added, compliments of Michael Renner.
-12012002 - Minor fix to configure.in: reported --enable-debug's default
-           setting incorrectly. Added buffering to the API: you can now
-           buffer a file with PHYSFS_setBuffer(), and flush the buffer to
-           disk with PHYSFS_flush(). PhysicsFS file handles are unbuffered
-           by default (as they were before this API addition), so this does
-           not break the API. Other fixes for bugs I stumbled upon during
-           this work are in CVS, too.
-11292002 - Minor fix for strange PATH strings in unix.c (thanks, Alexander!)
-11222002 - Initial PocketPC port by Corona688.
-10222002 - Fixed segfault in test_physfs.c when user hits CTRL-D (and
-           readline() thus returns NULL)...now gracefully exits, as it should.
-10142002 - Added check for AMD's x86-64 ("Hammer") architecture when
-           determining platform byte order.
-10112002 - Fixed "setsaneconfig" command in test_physfs.c ...
-09232002 - Happy September. Updated VC++6 project files, fixed some
-           VC++ compile nags (more work to be done in zip.c).
-08302002 - Cleaned tab stops out of zip.c, and fixed a possible infinite loop
-           in zip_find_entry().
-08292002 - Fixed a mistake in makeos2.cmd, and updated the INSTALL docs.
-           Added physfs.spec.in to EXTRA_DIST in Makefile.am*
-08292002 - Added a physfs/stdio wrapper header to the "extras" dir,
-           compliments of Adam D. Moss (file is "abs-file.h").
-08282002 - Cleanups in grp.c so that Visual C++ doesn't complain anymore.
-           zip.c now works correctly when PhysicsFS is disallowing symlinks.
-           A few minor optimizations in zip.c, with a few more to come later.
-           Added VS.NET project files to CVS.
-08222002 - Fixed ZIP_exists() to work with directories. Now breaks out of
-           __PHYSFS_verifySecurity() early if a path element is missing
-           (since all the others will be, too)...this check is only done
-           if symlinks are disabled, but we might as well save easy cycles
-           where we can.
-08212002 - Did a couple tedious-for-small-rewards cleanups, optimizations,
-           corrections and streamlinings I've been meaning to do. Touched a
-           lot of code. One of the side results is that ZIP_isDirectory()
-           got fixed.
-08192002 - Generalized sorting routines, moved them into physfs.c and removed
-           the multiple copies from the various archivers. Adding profiling
-           code (currently only for sort routines)...enable it with
-           --enable-profiling in the configure script. Fixed incorrect
-           behaviours in configure.in.
-08172002 - Patched configure.in to work around buggy autoconfs.
-08162002 - Fixed QPAK archiver, since I broke it (sorry!). Also fixed a
-           qpak memory leak.
-08092002 - Added Quake PAK archiver (qpak.c) by Ed Sinjiashvili. Thanks!
-           Made (successful?) attempt to fix pthread-to-ui64 cast problem.
-           Check for OS/2 in configure.in, in case anyone gets autoconf and
-           such to work right on their OS/2 box.
-08012002 - Patched win32.c to compile.
-07302002 - Minor error handling fix (thanks, Alexander!)
-07292002 - Found some memory leaks, thanks to Valgrind (which rules, btw).
-           Added Russian translations (koi8-r, cp1251, cp866, and iso-8859-5)
-           by Ed Sinjiashvili. Added Spanish translation by Pedro J. Pérez.
-           Debian package support in CVS, thanks to Colin Bayer. French
-           translation by Stéphane Peter.
-07282002 - macclassic.c now returns human readable error messages instead of
-           ERR_OS_ERROR. Closing files on MacOS no longer fails if the volume
-           info can't be flushed. Minor error message tweak in os2.c. All
-           possible human-readable literal strings (including all those OS/2
-           and MacOS error messages) have moved to constants in
-           physfs_internal.h...this allows the library to be translated to
-           other spoken languages fairly easily.
-07272002 - Patched the OS/2 code to be useful...works pretty well, now. Added
-           makeos2.cmd for building (not an ideal solution, but oh well).
-           Initialized some variables in zip.c to prevent compiler whining.
-07262002 - Fixed a typo in documentation. Archivers with matching file
-           extensions are now given first shot at opening an archive, but if
-           they fail, the other archivers are tried. More fixes to zip.c's
-           ZIP_enumerateFiles(). Wrote an OS/2 platform driver based on API
-           specs and a heavy pounding of Google Groups...as I don't have an
-           OS/2 compiler at the moment, it probably doesn't even compile.  :)
-07252002 - configure.in and unix.c now deal with platforms that lack a
-           functional pthread library. Edward Rudd sent in a patch to the RPM
-           specfile to have the build system set the correct version.
-           Clean ups in grp.c, beos.cpp and macclassic.c.
-07242002 - Rewrote ZIP_enumerate(). Hopefully it sucks less this time.
-           unix.c and configure.in now have the infrastructure to disable
-           the CD-ROM detection code, and use a stub that successfully (and
-           unconditionally) reports no detected discs. Currently this is
-           used on AtheOS (which doesn't have CD-ROM support at the moment
-           anyhow), but it will be useful to get the library up on odd,
-           Unix-like systems that don't use either getmntinfo() or getmntent().
-07232002 - Cleaned up the cut-and-pastes in the various file enumeration
-           routines and moved it into __PHYSFS_addToLinkedStringList().
-           Tons more ZIP file enhancing. I'm fairly certain it's robust and
-           fast in every reasonable respect, now. GRP archiver now caches
-           the file table...it was generally overhauled like the ZIP driver.
-           Added "ls" as an alias of "enumerate" in test_physfs.
-           I lied about zip.c's robustness; disabled the enumeration code.
-07212002 - More FreeBSD build system patches. Added some new autoconf spew to
-           .cvsignore. bootstrap now copies the appropriate Makefile.am
-           instead of rename()ing it.
-07192002 - Cleaned up configure.in and unix.c so that we check by available
-           header to determine the appropriate CD-ROM detection code...this
-           should make this more future-proof (and probably get it building
-           out of the box on other BSD platforms.)
-07172002 - Fixed seeking backwards in ZIP_seek(). Changed the error message
-           ERR_TOO_MANY_SYMLINKS to ERR_SYMLINK_LOOP. Patches to build system
-           and unix.c for FreeBSD compatibility. Added physfs.spec to
-           "make dist" archives (thanks, Edward Rudd!).
-07152002 - Symlinks in ZIP archives are detected correctly now, I think.
-07142002 - Use GetVolumeInformation() instead of GetDiskFreeSpace() in
-           win32.c's mediaInDrive() function. This allows Windows NT 3.x to
-           correctly detect CD-ROM drives. Library now appears to be fully
-           functional on WinNT 3.51...need to try NT 3.1 still.  :)
-           Patches to new ZIP code; cleaned up bugs in symlink reading code,
-           but we incorrectly identify some entries as symlinks, which doesn't
-           fly...for now, symlink code is commented out, so symlinks look
-           like regular files (and reading from a symlink entry gives you
-           the link as file data).
-07122002 - Rewrote the ZIP archiver to no longer use Gilles Vollant's unzip.c
-           code. Losing that abstraction should make the ZIP archiver
-           significantly more efficient, and halved the amount of code used.
-           Plus, being a control freak, I like my coding style more than
-           Gilles's. :)  There are still bugs to shake out, but this is good
-           progress.
-07112002 - configure.in updated to make it happier on newer autoconfs
-           (thanks again, Alexander!). FIXME cleanups.
-07102002 - Added a byteorder-friendly convenience API, so you can read/write
-           data and convert to the native byteorder without too much effort.
-           Upped version to 0.1.7.
-           Build system corrections for BeOS and Cygwin (thanks, Alexander!).
-           Added RPM specfile for PhysicsFS (thanks, Edward Rudd!).
-06292002 - Fixed incorrect error message when opening a file for read without
-           defining a search path. LOTS of win32 updates and fixes; lots of
-           things that were broken work now, and we are slowly becoming
-           more compatible with legacy win32 systems. Builds on Cygwin again.
-           All platform drivers (except beos.cpp) had a buffer overflow when
-           detecting mounted CD-ROM drives...it only occurs when a drive is
-           detected, and it probably won't result in your box getting rooted,
-           but upgrade soon anyhow. Readded the .cvsignore files from the old
-           build system.
-06282002 - Reworked build system _AGAIN_.
-06222002 - Alexander Pipelka spotted a bug in the file open routines in
-           posix.c; patched.
-06152002 - Autoconf build system will now generate shared libraries on BeOS,
-           and (supposedly) Cygwin.
-06142002 - Rewrote autoconf build system. It now works around the MacOS X bug
-           that prevented shared libraries from building.
-06112002 - Updated CodeWarrior projects and added them to CVS. _Finally_
-           officially released 0.1.6.
-06102002 - Major overhauls to platform/win32.c ... should work on all Windows
-           platforms, including 95/98/ME and NT/2K/XP flavors. Someone should
-           see if this builds on WinCE!  :)  You no longer need the latest
-           platform SDK to build it, either; the questionable DLL is accessed
-           with LoadLibrary() at runtime now, and handled if not present. This
-           now builds correctly on a freshly installed Visual Studio 6.0, and
-           the DLL it builds works everywhere. Plus, a bunch of other bugs
-           and incorrect behaviours were squashed. Visual Studio 6.0 project
-           file added to CVS.
-06082002 - Fixes to __PHYSFS_platformEnumerateFiles() in win32.c: cleaned up
-           memory leak, handles paths more robustly, and prevents possible
-           skipped file entries. Removed AC_C_CONST and AC_TYPE_SIZE_T checks
-           from configure.in (not needed, and they broke BeOS build). Clean
-           out the docs/ directory when doing a "make dist". Fixed crashbug
-           when calling PHYSFS_deinit() more than once in a row. Tried to get
-           MacOS X to build a shared library, gave up; I'm doing something
-           wrong in my Makefile.am, I think. On MacOS X, running ./configure
-           --enable-static --disable-shared works, though. Hopefully someone
-           will fix this soon. In unix.c, the Darwin version of
-           __PHYSFS_platformDetectAvailableCDs() was free()ing a static
-           buffer; fixed.
-06072002 - Manpages! Finally installed Doxygen and scratched together a
-           Doxyfile. After some revision to physfs.h, we've got a rather
-           nice API reference.
-06062002 - Fixed __PHYSFS_platformSeek() in archivers/posix.c. Implemented the
-           getLastModTime method in archivers/zip.c (returns legitimate info)
-           and archivers/grp.c (returns lastmodtime of GRPfile itself in the
-           physical filesystem). Put a 64-bit _llseek() version of the seek()
-           and tell() methods in platform/posix.c, but you need to hack (or
-           rather, fix) configure.in to enable it. From Greg on win32.c: Fixed
-           file enumerator function (needed a wildcard '*' specification), CD
-           enumeration only reports CDs that have media, getLastModTime() has
-           been implemented.
-06012002 - Added -Wall to debug builds. Removed ANSI stdio calls from
-           platform/posix.c, and replaced them with actual POSIX calls (that
-           is, fopen() became open(), fseek() became lseek(), etc...)
-05272002 - Added some explicit casts when calling malloc() in platform/posix.c
-05252002 - Added John Hall's file modification time patch, and added a
-           getlastmodtime command to test_physfs. Corrected error reporting
-           for missing files a little bit. Changed build system to only try
-           building beos.cpp if on a BeOS system (since we need a C++ compiler
-           available to do so). Implemented getLastModTime in macclassic.c.
-05242002 - Upped version to 0.1.6 (not officially released yet).
-05232002 - Fixed the build system to always package the complete source, not
-           just what we built for a given system, when doing a "make dist".
-           Updated INSTALL. Wrote BeOS platform code (platform/beos.cpp).
-           Split unix.c into unix.c and posix.c. Linux and BeOS both share
-           posix.c, although I don't think it's completely POSIX compliant at
-           this point (not that it matters much).
-05212002 - Cleaned up some FIXMEs.
-05202002 - Added .cvsignore files.
-05162002 - Edward Rudd also caught an embarrassing screwup by me in
-           unix.c: the open-for-append call was using "wb+" instead of
-           "ab" when calling fopen(). Doh!
-05152002 - configure script now deals with systems that have a readline
-           lib, but require it to be linked with curses. Thanks to Edward
-           Rudd for the patch.
-05102002 - A trimmed-down zlib 1.1.4 is now included in the source distro, for
-           use by win32, MacOS, and Unix systems that don't have it installed
-           on the system. Autoconf support! Initial attempt at this. Lots of
-           stuff may be very broken.
-05082002 - From Greg: More win32 work. Library is now 95% functional on win32.
-           Only known win32 problem is that the CD drives are reported whether
-           they contain a disc or not).
-05062002 - From Greg: Win32 boxes without the latest Platform SDK can now
-           #define DISABLE_NT_SUPPORT. Other fixes.
-04242002 - Updated win32 info in INSTALL to discuss Platform SDK issues.
-04202002 - Added a (very) quick and (very) dirty http server to the
-           extras directory (public domain), as another example of using
-           the library.
-04192002 - Corrected some win32 info in INSTALL. Changed Makefile to
-           package releases as .tar.gz instead of .tar.bz2.
-04122002 - Some win32 cleanups and fixes across several files. Upped
-           version to 0.1.5.
-04082002 - Fixed problem when calling __PHYSFS_setError before PHYSFS_init.
-04062002 - Added MacOS info, etc to INSTALL. Patched unix.c and
-           test_physfs.c to compile on Darwin again.
-04052002 - Added byte ordering API. Byte ordering fixes in grp.c, and some
-           cleanups in unzip.c. Mac work is more or less complete.
-04042002 - Mac work continues. Almost complete, now. test_physfs now has
-           tests for write, append, and filelength, and most of the
-           commands can tolerate a quoted argument (although this is
-           hacky, it's good enough for these purposes). Upped test_physfs
-           version to 0.1.1. Added a malloc-failure check in the Unix
-           CD-ROM detection code.
-04032002 - PHYSFS_init always makes sure the calling thread initializes its
-           error state. Win32 codebase is updated with mutex implementation
-           (thanks, Greg!).
-04022002 - Mac work continues. Found a bug where we put a double dir
-           separator in if we had to resort to the fallback userdir (if
-           __PHYSFS_platformGetUserDir() returned NULL to calculateUserDir().
-           Made note of potential infinite recursion in platform driver docs.
-04012002 - (_NOT_ an April Fool's Joke:) Started working on MacOS Classic
-           port. Added skeleton.c to platform directory. Minor patches to
-           get things compiling on Mac (notably, DirInfo conflicts with
-           a type exposed by MacOS's namespace-polluting API, and some
-           typecasting issues). Found a call to ferror() I had missed in
-           unzip.c.
-03302002 - Mutexes! PhysicsFS should be thread safe now, so long as you
-           don't try to do something like close a file at the same time as
-           you are reading from it in another thread. All reasonable race
-           conditions should now be gone, but the new code will need some
-           eyeballing before we install it on life support systems or anything.
-           The mutex abstraction is implemented in unix.c, win32.c will be
-           updated shortly.
-03292002 - Fixed a potential problem in ZIP_realpath() and some byte order
-           issues in zip.c. Converted unzip.c to use physfs file i/o
-           abstractions. Converted CHANGELOG to list latest entries first.
-03242002 - Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). Win32
-           improvements by Gregory S. Read. Added PHYSFS_[us]int(8|16|32)
-           types...this breaks binary compatibility with previous PhysicsFS
-           releases! Added platform specific i/o functions, so we don't have
-           to rely on stdio anymore. Updated TODO with my comments on the
-           physfs mailing list. 1.0, here we come! Removed race condition from
-           grp.c and converted to file i/o abstraction layer calls from stdio.
-           Tons of other fixes and enhancements.
-03202002 - Patched platform/win32.c to compile.
-03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir
-           better. Patched makefile to link the test program. Changed all the
-           "write" functions to get data from a "const" buffer. Added an
-           "extras" dir, which currently contains PhysFS->SDL_RWops glue code.
-03052002 - Made unix.c's timeslice implementation more portable, and added a
-           Darwin-specific means to detect CDs (thanks to Patrick Stein).
-           Minor cleanup in win32.c (changed "for (; condition ;)" into
-           "while (condition)" ...)
-11142001 - Removed a redundant error check in platform/win32.c
-10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in
-           the test program. Apparently I had accidentally removed a rather
-           crucial line from dir.c a few revisions ago, and no one noticed. :(
-           Fixed. The win32 userdir will default to the base dir, now.
-09252001 - Changed API: PHYSFS_setSaneConfig() takes an organization name, and
-           sets up less directories. Be warned. Fixes from David Hedbor:
-           make setSaneConfig() set write directory correctly if it had to
-           create the directory, and make sure that the writing functions
-           get used in dir.c when a file is opened for writing/appending.
-           Updated CREDITS.
-09142001 - David Hedbor submitted a patch to handle a case where the
-           current working directory has been deleted out from under the
-           process (both in platform/unix.c and physfs.c itself). Thanks,
-           David! Added a CREDITS file. Changed the format of the author field
-           in PHYSFS_ArchiveInfo to put the email address between "<>" instead
-           of "()" chars. Updated TODO. make install now deletes previous
-           revisions of the library. Changed version to 0.1.4.
-09012001 - Happy September. Moved the Visual C project files and the zlib
-           source to a separate download. Look for it at
-           http://icculus.org/physfs/downloads/physfs-win32-support.zip ...
-           Updated the INSTALL doc for Win32 building. Rewrote win32.c's
-           __PHYSFS_platformRealPath() to not rely on Visual C's runtime lib,
-           which was the last Cygwin incompatibility (although the Makefile
-           needs to be updated to build a DLL under Cygwin). Tinkered with the
-           Makefile a little, but it needs more work. Started working on a
-           MacOS version. All I have is CodeWarrior 4, which is way out of
-           date, and (for what is supposed to be an ultra-user-friendly
-           environment) is completely uninituitive to me. Still, managed to
-           get most everything compiling, which improved the quality of the
-           code somewhat). Haven't tried to compile the zipfile support, and
-           I still can't link the library. Dunno what the hell I'm supposed
-           to do there. Isn't Unix supposed to be hard compared to this?
-08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean,
-           but there's at least one byte-ordering issue in zip.c that needs
-           to be fixed.
-08292001 - win32.c calculates the base dir with GetModuleFileName() first, now,
-           and falls back to SearchPath() if there were problems. Changed an
-           occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can
-           handle it.
-08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating
-           the userdir. Added include files that make it a little closer to
-           compiling under Cygwin. Added a TODO file. Fixed unix.c's
-           __PHYSFS_platformCalcBaseDir() so that it actually works. Fixed
-           Makefile so that it links the test program properly.
-           Changed version to 0.1.3.
-08232001 - Fixed a potential free()ing of a NULL pointer in
-           __PHYSFS_platformEnumerateFiles() in platform/unix.c. Added
-           platform/win32.c. Other cleanups to get this compiling with
-           Visual C and CygWin. Added BAIL_MACRO for times when we were doing
-           BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers.
-           Added GRP setting output to showcfg in the Makefile. Updated INSTALL
-           with license info and Win32 build instructions. Dependency on the
-           readline library in test_physfs.c is now optional.
-           Changed version to 0.1.2.
-08072001 - Changed version to 0.1.1.
-08062001 - Added CD-ROM detection code to the unix platform driver.
-08012001 - Added a safety memset in error setting, fixed URLs and email addr.
-07282001 - Initial release.
-
---ryan. (icculus@icculus.org)
-
-/* end of CHANGELOG ... */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CHANGELOG.txt	Sun Mar 11 10:19:52 2007 +0000
@@ -0,0 +1,523 @@
+/*
+ * CHANGELOG.
+ */
+
+03112007 - Removed zlib_license_change.txt ... it's in Subversion and the 1.0
+           branch for history's sake. Added shared and static build options
+           to CMakeLists.txt, and the expected "make install" target.
+           Renamed some FILENAME files to FILENAME.txt, removed physfs.rc.
+03082007 - Fixed a comment in physfs.h. Renamed win32.c to windows.c.
+           Cleaned up whitespace/formatting in pocketpc.c. Updated PocketPC
+           code to expect UTF-8 strings from the higher level. Changed
+           PHYSFS_SUPPORTS_LZMA to PHYSFS_SUPPORTS_7Z. Killed some #ifdefs
+           in physfs.c. Moved to CMake...so long, autotools! Killed MIX
+           archiver, too.
+11052006 - More 7zip archiver work (thanks, Dennis!). Initial Unicode work.
+           Minor BeOS realpath tweak.
+09272006 - Reworked 7zip archiver (thanks, Dennis!).
+09232006 - Fixed typo in doxygen comment.
+04112006 - Added LZMA archiver...7zip support (thanks, Dennis!).
+03232006 - Added -fvisibility for gcc4 (http://gcc.gnu.org/wiki/Visibility)
+01012006 - Cleaned up overflow checks in platform memory allocators (thanks to
+           Nicolas Lebedenco for pointing out the original issue with
+           long long literals). Added physfs.rc (thanks, Dennis!). Changed my
+           email address. Removed acconfig.h.
+11282005 - Corrected docs on PHYSFS_setWriteDir().
+10122005 - Fixed locateInStringList() in physfs.c (thanks, Matze!). Patched
+           archivers/wad.c to compile.
+09192005 - Make unix mutexes recursive above pthread layer...fixes deadlock on
+           MacOS X, for now.
+09182005 - API BREAKAGE: PHYSFS_enumerateFilesCallback() now passes the
+           original directory name back to the app in the callback. This
+           API was only in 1.1.0, and wasn't promised to be stable at this
+           point. Please update your apps! Cleaned out a FIXME in file
+           enumeration that would confuse the library under certain
+           circumstances.
+09092005 - Some tweaks to PHYSFS_Allocator. Apparently configure.in doesn't
+           work like I thought for version bumps, so it thinks 1.1.0 isn't
+           binary compatible with 1.0...fixed, I think.
+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. Minor MingW fixes (but it's still
+           broken, I think).
+08202005 - Fixed bug in verifyPath() that was breaking PHYSFS_setSaneConfig()
+           and other corner cases.
+07242005 - Patched to compile on BeOS.
+07232005 - Fixed bug in zip archiver (thanks, Jörg Walter!).
+           More minor OS/2 tweaks. Updated zlib to 1.2.3, which properly
+           includes the security fix. Fixed "make dist" to handle .svn dirs
+           and other file changes. Removed "debian" directory. Allow a mount
+           point of NULL to be "/", per the documentation. Fixed warning in
+           physfs.c. Assert definition fix. Updated CWProjects.sit.
+           Upped version to 1.1.0 ... first release of 1.1 dev branch!
+07212005 - Patched to compile on OS/2 again.
+07132005 - Updated zlib to 1.2.2, and patched it for this security hole:
+           http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2096
+06122005 - Added support for mingw to Unix build process (thanks, Matze!).
+03162005 - Added missing translation and Portuguese support (thanks, Danny!).
+           MPW support and several MacOS Classic fixes (thanks, Chris!).
+           Changed CWProjects from SITX to SIT format, so OS9 users can
+           unpack it.
+03132005 - More mount work, added PHYSFS_getMountPoint() and more cleanups.
+           Replaced all the C runtime allocations with PhysFS allocation hooks.
+           Added pocketpc.c to EXTRA_DIST. Added allocation hooks to some
+           platform drivers. Updated Mac Classic build.
+03122005 - Added evil GOTO_*_MACRO_* macros. Fixed unix.c to compile again on
+           MacOS X. Added PHYSFS_mount() (thanks, Philip!). Cleaned up the
+           INSTALL and CREDITS files a little. Split off start of
+           verifySecurity() into a path sanitizer and changed entry points to
+           sanitize input paths into a stack-allocated buffer before further
+           processing. This removes the need for a malloc() for almost all
+           file system operations, and generally cleaned things up. Added a
+           "mount" command to test_physfs. Other general cleanups.
+02152005 - Minor comment fix in platform/pocketpc.c
+01052005 - Fixed HOG archiver file lookup (thanks, Chris!)
+12162004 - Fixed some documentation/header comment typos (thanks, Gaetan!)
+10302004 - Fixed a strcpy that should have been a strcat. (thanks, Tolga!)
+           Build system respects external CFLAGS now. (thanks, Adam!)
+           Fixed infinite loop in new enumeration code. (thanks, Adam!)
+10062004 - Removed profiling code from physfs.c.
+09292004 - Every API that can return a list of strings can now use a
+           callback mechanism if the application wants to do it's own
+           allocation or handling on a per-item basis. The guts of those
+           APIs that create string lists now use the callbacks themselves to
+           build the lists, too. The callback functionality goes all the way
+           down to the archivers and platform drivers where appropriate, which
+           cleans things up and simplifies some internal tasks very nicely.
+           Got rid of all the annoying forward declarations in all the
+           archivers and moved their PHYSFS_Archiver data to the end of the
+           file, since this was annoying me and I was getting sick of updating
+           function signatures in two places when the internal API changed.
+           Removed the code/data for LinkedStringLists...it isn't used anymore
+           now that the callback code is in place.
+09262004 - Did the same thing to FileHandles than I did to DirHandles, but
+           this triggered massive tweaking in physfs.c. A lot of code got
+           little cleanups, which was nice. Less malloc pressure, too, since
+           opening a file used to allocate a ton of crap and mush it
+           together...now it's basically down to one structure and the
+           instance data in whatever archiver. Minor varname tweak in win32.c
+           and pocketpc.c. Changed PHYSFS_file to PHYSFS_File to match the
+           rest of the API's naming scheme (but put a typedef for source
+           compatibility).
+09252004 - Cleaned up archiver interface to not deal with DirHandles anymore,
+           which simplifies things, removes some responsibility and code
+           duplication from the archivers, and trims some malloc pressure.
+           Ripped up the allocation hook code a little. We'll try to screw
+           with memory locking later, since it makes everything ugly and
+           complex. Oh well.
+09232004 - Started adding allocation hooks.
+09222004 - Happy September. Added Spanish translation back in.
+04092004 - Added MIX support for legacy Westwood titles (Thanks, Sebastian!).
+           Made bootstrap script MacOSX-friendly. Moved byteorder defines into
+           physfs_internal.h ...
+01152003 - Added Portuguese (Brazil) translation (Thanks, Danny!)
+
+
+--- This is where the 1.1 development branch starts. ---
+
+12292003 - Updated CodeWarrior projects from CW6 to CW7, and made a bunch of
+           patches to get the Mac Classic target building again. Removed
+           zlib114 from CVS repository. Updated OS/2 build batch file.
+           Added Z_PREFIX define to Unix builds that use internal zlib.
+           Patched up some (outdated?) Visual C project files for zlib121.
+           Patched Doxyfile and physfs.h for newer Doxygen. Fixed OS/2
+           build script. Tweaked Project Builder files to at least compile.
+           Added some last minute BeOS and Cygwin build fixes. Updated
+           Visual Studio projects and tweaked some Makefile.am crap. Made
+           changes so Visual Studio files would pack with DOS endlines and...
+           Upped version to 1.0.0 (woohoo!).
+12222003 - Fixed a search-and-replace mistake in win32.c that preventing
+           compiling on Windows. (thanks, Brian!) Converted VC6 .dsp to use
+           zlib121; made Z_PREFIX=1 enabled by default to avoid link clashes;
+           put zlib files in separate logical folder in .dsp project; updated
+           zlib121/zconf.h to address remaining symbols that were still
+           causing link warnings.
+12182003 - WAD archiver now puts maps into subdirectories, making them
+           accessible to the application. (Thanks, Travis!) RPM spec and
+           Makefile.am* now package zlib_license_change.txt (Thanks, Edward!)
+12142003 - Added Doom WAD support (Thanks, Travis!)
+12082003 - Fixed some win32.c deficiencies that Robby Dermody pointed
+           out (thanks!)
+12072003 - Upgraded internal zlib to 1.2.1 (thanks, Adam!) Other
+           Unix build fixes.
+11112003 - Patches to make OS/2 support compile again.
+11092003 - Added __PHYSFS_platformStrnicmp(), and made qpak.c case-insensitive.
+09122003 - Happy September. Actually released current tree as 0.1.9.
+08262003 - Added MiNT support to build process and fixed cross-compiling
+           (thanks Patrice Mandin!)
+08092003 - Some Windows build fixes (thanks, Brian Hook!)
+07232003 - Upped version to 0.1.9.
+07202003 - Switched to zlib license (see new LICENSE text in root of source
+           tree, and zlib_license_switch.txt for details). Had to remove
+           archivers/qpak.c, the Ruby bindings from the extras directory, and
+           the Russian and Spanish translations, since those contributors
+           couldn't be contacted. If they show up, we'll readd them to the
+           project, otherwise we'll eventually replace their work...everyone
+           else signed on for the change. Committed a patch to convert all
+           tabs to spaces (Thanks, James!). Added patch to zip.c to fix
+           crash (thanks, dillo!). Reimplmented qpak.c, by welding together
+           bits of grp.c and zip.c. Ed contacted me, so I could readd his
+           contributions post-license change...I'm going to keep the new
+           qpak.c, but I've readded his Ruby bindings and Russian translations.
+06112003 - Patches to globbing.c to handle corner cases (thanks, Bradley!).
+06102003 - Added globbing.c to "extras" directory.
+05232003 - Rewrote MacOSX/Darwin CD-ROM detection code to use IOKit, which is
+           much much more accurate than the previous code. Updated
+           configure.in and Makefile.am.newautomake for some MacOSX stuff.
+05222003 - Fixed win32 crash if PHYSFS_init() is called with a NULL.
+05182003 - PocketPC fixes (thanks, David Hedbor!)
+05162003 - Compiler warning cleanup in HOG and MVL archivers (Thanks, Bradley!)
+04082003 - Minor changes to extras/abs-file.h (Thanks, Adam!)
+03302003 - Fixed seeking in uncompressed ZIP entries, and handle a
+           misbehaviour in Java's JAR creation tools. Thanks to "Tree" for
+           pointing these bugs out. Added HOG and MVL archive support for
+           Descent I and II (Thanks, Bradley Bell!). Added example code to
+           do case-insensitive file searches ("extras/ignorecase.*").
+03192003 - Fixed problem in PHYSFS_mkdir() when dirs to be created already
+           exist. Fixed problem where PHYSFS_mkdir() incorrectly tripped an
+           alarm in __PHYSFS_verifySecurity().
+03122003 - Attempt at cleaning up some type correctness for VC++6. Made QPAK
+           archiver case-insensitive (since Quake2 has problems without it).
+01302003 - Added buffering API to OS/2 build's exported symbol list. Updated
+           CWProjects.sit and made several fixes to get physfs building on
+           MacOS Classic again.
+01282003 - Fixed seeking in buffered files opened for read.
+01072003 - .NET assembly and C# wrapper by Gregory S. Read in the extras dir.
+01042003 - Added a hack for dealing with OSX bundles and newer PBProjects
+           (thanks, Eric Wing!). Added some missing files to "make dist".
+           Fixed minor Doxygen typo in PHYSFS_flush() docs. Upped version to
+           0.1.8.
+12172002 - Added Apple Project Builder support files (thanks, Eric Wing!).
+12112002 - Added Ruby bindings to extras directory (thanks, Ed Sinjiashvili!).
+           Patched win32.c to compile with Mingw32 (thanks, Niels Wagenaar!).
+12032002 - Adam updated his extras/abs-file.h for the new buffering API.
+12022002 - German translation added, compliments of Michael Renner.
+12012002 - Minor fix to configure.in: reported --enable-debug's default
+           setting incorrectly. Added buffering to the API: you can now
+           buffer a file with PHYSFS_setBuffer(), and flush the buffer to
+           disk with PHYSFS_flush(). PhysicsFS file handles are unbuffered
+           by default (as they were before this API addition), so this does
+           not break the API. Other fixes for bugs I stumbled upon during
+           this work are in CVS, too.
+11292002 - Minor fix for strange PATH strings in unix.c (thanks, Alexander!)
+11222002 - Initial PocketPC port by Corona688.
+10222002 - Fixed segfault in test_physfs.c when user hits CTRL-D (and
+           readline() thus returns NULL)...now gracefully exits, as it should.
+10142002 - Added check for AMD's x86-64 ("Hammer") architecture when
+           determining platform byte order.
+10112002 - Fixed "setsaneconfig" command in test_physfs.c ...
+09232002 - Happy September. Updated VC++6 project files, fixed some
+           VC++ compile nags (more work to be done in zip.c).
+08302002 - Cleaned tab stops out of zip.c, and fixed a possible infinite loop
+           in zip_find_entry().
+08292002 - Fixed a mistake in makeos2.cmd, and updated the INSTALL docs.
+           Added physfs.spec.in to EXTRA_DIST in Makefile.am*
+08292002 - Added a physfs/stdio wrapper header to the "extras" dir,
+           compliments of Adam D. Moss (file is "abs-file.h").
+08282002 - Cleanups in grp.c so that Visual C++ doesn't complain anymore.
+           zip.c now works correctly when PhysicsFS is disallowing symlinks.
+           A few minor optimizations in zip.c, with a few more to come later.
+           Added VS.NET project files to CVS.
+08222002 - Fixed ZIP_exists() to work with directories. Now breaks out of
+           __PHYSFS_verifySecurity() early if a path element is missing
+           (since all the others will be, too)...this check is only done
+           if symlinks are disabled, but we might as well save easy cycles
+           where we can.
+08212002 - Did a couple tedious-for-small-rewards cleanups, optimizations,
+           corrections and streamlinings I've been meaning to do. Touched a
+           lot of code. One of the side results is that ZIP_isDirectory()
+           got fixed.
+08192002 - Generalized sorting routines, moved them into physfs.c and removed
+           the multiple copies from the various archivers. Adding profiling
+           code (currently only for sort routines)...enable it with
+           --enable-profiling in the configure script. Fixed incorrect
+           behaviours in configure.in.
+08172002 - Patched configure.in to work around buggy autoconfs.
+08162002 - Fixed QPAK archiver, since I broke it (sorry!). Also fixed a
+           qpak memory leak.
+08092002 - Added Quake PAK archiver (qpak.c) by Ed Sinjiashvili. Thanks!
+           Made (successful?) attempt to fix pthread-to-ui64 cast problem.
+           Check for OS/2 in configure.in, in case anyone gets autoconf and
+           such to work right on their OS/2 box.
+08012002 - Patched win32.c to compile.
+07302002 - Minor error handling fix (thanks, Alexander!)
+07292002 - Found some memory leaks, thanks to Valgrind (which rules, btw).
+           Added Russian translations (koi8-r, cp1251, cp866, and iso-8859-5)
+           by Ed Sinjiashvili. Added Spanish translation by Pedro J. Pérez.
+           Debian package support in CVS, thanks to Colin Bayer. French
+           translation by Stéphane Peter.
+07282002 - macclassic.c now returns human readable error messages instead of
+           ERR_OS_ERROR. Closing files on MacOS no longer fails if the volume
+           info can't be flushed. Minor error message tweak in os2.c. All
+           possible human-readable literal strings (including all those OS/2
+           and MacOS error messages) have moved to constants in
+           physfs_internal.h...this allows the library to be translated to
+           other spoken languages fairly easily.
+07272002 - Patched the OS/2 code to be useful...works pretty well, now. Added
+           makeos2.cmd for building (not an ideal solution, but oh well).
+           Initialized some variables in zip.c to prevent compiler whining.
+07262002 - Fixed a typo in documentation. Archivers with matching file
+           extensions are now given first shot at opening an archive, but if
+           they fail, the other archivers are tried. More fixes to zip.c's
+           ZIP_enumerateFiles(). Wrote an OS/2 platform driver based on API
+           specs and a heavy pounding of Google Groups...as I don't have an
+           OS/2 compiler at the moment, it probably doesn't even compile.  :)
+07252002 - configure.in and unix.c now deal with platforms that lack a
+           functional pthread library. Edward Rudd sent in a patch to the RPM
+           specfile to have the build system set the correct version.
+           Clean ups in grp.c, beos.cpp and macclassic.c.
+07242002 - Rewrote ZIP_enumerate(). Hopefully it sucks less this time.
+           unix.c and configure.in now have the infrastructure to disable
+           the CD-ROM detection code, and use a stub that successfully (and
+           unconditionally) reports no detected discs. Currently this is
+           used on AtheOS (which doesn't have CD-ROM support at the moment
+           anyhow), but it will be useful to get the library up on odd,
+           Unix-like systems that don't use either getmntinfo() or getmntent().
+07232002 - Cleaned up the cut-and-pastes in the various file enumeration
+           routines and moved it into __PHYSFS_addToLinkedStringList().
+           Tons more ZIP file enhancing. I'm fairly certain it's robust and
+           fast in every reasonable respect, now. GRP archiver now caches
+           the file table...it was generally overhauled like the ZIP driver.
+           Added "ls" as an alias of "enumerate" in test_physfs.
+           I lied about zip.c's robustness; disabled the enumeration code.
+07212002 - More FreeBSD build system patches. Added some new autoconf spew to
+           .cvsignore. bootstrap now copies the appropriate Makefile.am
+           instead of rename()ing it.
+07192002 - Cleaned up configure.in and unix.c so that we check by available
+           header to determine the appropriate CD-ROM detection code...this
+           should make this more future-proof (and probably get it building
+           out of the box on other BSD platforms.)
+07172002 - Fixed seeking backwards in ZIP_seek(). Changed the error message
+           ERR_TOO_MANY_SYMLINKS to ERR_SYMLINK_LOOP. Patches to build system
+           and unix.c for FreeBSD compatibility. Added physfs.spec to
+           "make dist" archives (thanks, Edward Rudd!).
+07152002 - Symlinks in ZIP archives are detected correctly now, I think.
+07142002 - Use GetVolumeInformation() instead of GetDiskFreeSpace() in
+           win32.c's mediaInDrive() function. This allows Windows NT 3.x to
+           correctly detect CD-ROM drives. Library now appears to be fully
+           functional on WinNT 3.51...need to try NT 3.1 still.  :)
+           Patches to new ZIP code; cleaned up bugs in symlink reading code,
+           but we incorrectly identify some entries as symlinks, which doesn't
+           fly...for now, symlink code is commented out, so symlinks look
+           like regular files (and reading from a symlink entry gives you
+           the link as file data).
+07122002 - Rewrote the ZIP archiver to no longer use Gilles Vollant's unzip.c
+           code. Losing that abstraction should make the ZIP archiver
+           significantly more efficient, and halved the amount of code used.
+           Plus, being a control freak, I like my coding style more than
+           Gilles's. :)  There are still bugs to shake out, but this is good
+           progress.
+07112002 - configure.in updated to make it happier on newer autoconfs
+           (thanks again, Alexander!). FIXME cleanups.
+07102002 - Added a byteorder-friendly convenience API, so you can read/write
+           data and convert to the native byteorder without too much effort.
+           Upped version to 0.1.7.
+           Build system corrections for BeOS and Cygwin (thanks, Alexander!).
+           Added RPM specfile for PhysicsFS (thanks, Edward Rudd!).
+06292002 - Fixed incorrect error message when opening a file for read without
+           defining a search path. LOTS of win32 updates and fixes; lots of
+           things that were broken work now, and we are slowly becoming
+           more compatible with legacy win32 systems. Builds on Cygwin again.
+           All platform drivers (except beos.cpp) had a buffer overflow when
+           detecting mounted CD-ROM drives...it only occurs when a drive is
+           detected, and it probably won't result in your box getting rooted,
+           but upgrade soon anyhow. Readded the .cvsignore files from the old
+           build system.
+06282002 - Reworked build system _AGAIN_.
+06222002 - Alexander Pipelka spotted a bug in the file open routines in
+           posix.c; patched.
+06152002 - Autoconf build system will now generate shared libraries on BeOS,
+           and (supposedly) Cygwin.
+06142002 - Rewrote autoconf build system. It now works around the MacOS X bug
+           that prevented shared libraries from building.
+06112002 - Updated CodeWarrior projects and added them to CVS. _Finally_
+           officially released 0.1.6.
+06102002 - Major overhauls to platform/win32.c ... should work on all Windows
+           platforms, including 95/98/ME and NT/2K/XP flavors. Someone should
+           see if this builds on WinCE!  :)  You no longer need the latest
+           platform SDK to build it, either; the questionable DLL is accessed
+           with LoadLibrary() at runtime now, and handled if not present. This
+           now builds correctly on a freshly installed Visual Studio 6.0, and
+           the DLL it builds works everywhere. Plus, a bunch of other bugs
+           and incorrect behaviours were squashed. Visual Studio 6.0 project
+           file added to CVS.
+06082002 - Fixes to __PHYSFS_platformEnumerateFiles() in win32.c: cleaned up
+           memory leak, handles paths more robustly, and prevents possible
+           skipped file entries. Removed AC_C_CONST and AC_TYPE_SIZE_T checks
+           from configure.in (not needed, and they broke BeOS build). Clean
+           out the docs/ directory when doing a "make dist". Fixed crashbug
+           when calling PHYSFS_deinit() more than once in a row. Tried to get
+           MacOS X to build a shared library, gave up; I'm doing something
+           wrong in my Makefile.am, I think. On MacOS X, running ./configure
+           --enable-static --disable-shared works, though. Hopefully someone
+           will fix this soon. In unix.c, the Darwin version of
+           __PHYSFS_platformDetectAvailableCDs() was free()ing a static
+           buffer; fixed.
+06072002 - Manpages! Finally installed Doxygen and scratched together a
+           Doxyfile. After some revision to physfs.h, we've got a rather
+           nice API reference.
+06062002 - Fixed __PHYSFS_platformSeek() in archivers/posix.c. Implemented the
+           getLastModTime method in archivers/zip.c (returns legitimate info)
+           and archivers/grp.c (returns lastmodtime of GRPfile itself in the
+           physical filesystem). Put a 64-bit _llseek() version of the seek()
+           and tell() methods in platform/posix.c, but you need to hack (or
+           rather, fix) configure.in to enable it. From Greg on win32.c: Fixed
+           file enumerator function (needed a wildcard '*' specification), CD
+           enumeration only reports CDs that have media, getLastModTime() has
+           been implemented.
+06012002 - Added -Wall to debug builds. Removed ANSI stdio calls from
+           platform/posix.c, and replaced them with actual POSIX calls (that
+           is, fopen() became open(), fseek() became lseek(), etc...)
+05272002 - Added some explicit casts when calling malloc() in platform/posix.c
+05252002 - Added John Hall's file modification time patch, and added a
+           getlastmodtime command to test_physfs. Corrected error reporting
+           for missing files a little bit. Changed build system to only try
+           building beos.cpp if on a BeOS system (since we need a C++ compiler
+           available to do so). Implemented getLastModTime in macclassic.c.
+05242002 - Upped version to 0.1.6 (not officially released yet).
+05232002 - Fixed the build system to always package the complete source, not
+           just what we built for a given system, when doing a "make dist".
+           Updated INSTALL. Wrote BeOS platform code (platform/beos.cpp).
+           Split unix.c into unix.c and posix.c. Linux and BeOS both share
+           posix.c, although I don't think it's completely POSIX compliant at
+           this point (not that it matters much).
+05212002 - Cleaned up some FIXMEs.
+05202002 - Added .cvsignore files.
+05162002 - Edward Rudd also caught an embarrassing screwup by me in
+           unix.c: the open-for-append call was using "wb+" instead of
+           "ab" when calling fopen(). Doh!
+05152002 - configure script now deals with systems that have a readline
+           lib, but require it to be linked with curses. Thanks to Edward
+           Rudd for the patch.
+05102002 - A trimmed-down zlib 1.1.4 is now included in the source distro, for
+           use by win32, MacOS, and Unix systems that don't have it installed
+           on the system. Autoconf support! Initial attempt at this. Lots of
+           stuff may be very broken.
+05082002 - From Greg: More win32 work. Library is now 95% functional on win32.
+           Only known win32 problem is that the CD drives are reported whether
+           they contain a disc or not).
+05062002 - From Greg: Win32 boxes without the latest Platform SDK can now
+           #define DISABLE_NT_SUPPORT. Other fixes.
+04242002 - Updated win32 info in INSTALL to discuss Platform SDK issues.
+04202002 - Added a (very) quick and (very) dirty http server to the
+           extras directory (public domain), as another example of using
+           the library.
+04192002 - Corrected some win32 info in INSTALL. Changed Makefile to
+           package releases as .tar.gz instead of .tar.bz2.
+04122002 - Some win32 cleanups and fixes across several files. Upped
+           version to 0.1.5.
+04082002 - Fixed problem when calling __PHYSFS_setError before PHYSFS_init.
+04062002 - Added MacOS info, etc to INSTALL. Patched unix.c and
+           test_physfs.c to compile on Darwin again.
+04052002 - Added byte ordering API. Byte ordering fixes in grp.c, and some
+           cleanups in unzip.c. Mac work is more or less complete.
+04042002 - Mac work continues. Almost complete, now. test_physfs now has
+           tests for write, append, and filelength, and most of the
+           commands can tolerate a quoted argument (although this is
+           hacky, it's good enough for these purposes). Upped test_physfs
+           version to 0.1.1. Added a malloc-failure check in the Unix
+           CD-ROM detection code.
+04032002 - PHYSFS_init always makes sure the calling thread initializes its
+           error state. Win32 codebase is updated with mutex implementation
+           (thanks, Greg!).
+04022002 - Mac work continues. Found a bug where we put a double dir
+           separator in if we had to resort to the fallback userdir (if
+           __PHYSFS_platformGetUserDir() returned NULL to calculateUserDir().
+           Made note of potential infinite recursion in platform driver docs.
+04012002 - (_NOT_ an April Fool's Joke:) Started working on MacOS Classic
+           port. Added skeleton.c to platform directory. Minor patches to
+           get things compiling on Mac (notably, DirInfo conflicts with
+           a type exposed by MacOS's namespace-polluting API, and some
+           typecasting issues). Found a call to ferror() I had missed in
+           unzip.c.
+03302002 - Mutexes! PhysicsFS should be thread safe now, so long as you
+           don't try to do something like close a file at the same time as
+           you are reading from it in another thread. All reasonable race
+           conditions should now be gone, but the new code will need some
+           eyeballing before we install it on life support systems or anything.
+           The mutex abstraction is implemented in unix.c, win32.c will be
+           updated shortly.
+03292002 - Fixed a potential problem in ZIP_realpath() and some byte order
+           issues in zip.c. Converted unzip.c to use physfs file i/o
+           abstractions. Converted CHANGELOG to list latest entries first.
+03242002 - Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). Win32
+           improvements by Gregory S. Read. Added PHYSFS_[us]int(8|16|32)
+           types...this breaks binary compatibility with previous PhysicsFS
+           releases! Added platform specific i/o functions, so we don't have
+           to rely on stdio anymore. Updated TODO with my comments on the
+           physfs mailing list. 1.0, here we come! Removed race condition from
+           grp.c and converted to file i/o abstraction layer calls from stdio.
+           Tons of other fixes and enhancements.
+03202002 - Patched platform/win32.c to compile.
+03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir
+           better. Patched makefile to link the test program. Changed all the
+           "write" functions to get data from a "const" buffer. Added an
+           "extras" dir, which currently contains PhysFS->SDL_RWops glue code.
+03052002 - Made unix.c's timeslice implementation more portable, and added a
+           Darwin-specific means to detect CDs (thanks to Patrick Stein).
+           Minor cleanup in win32.c (changed "for (; condition ;)" into
+           "while (condition)" ...)
+11142001 - Removed a redundant error check in platform/win32.c
+10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in
+           the test program. Apparently I had accidentally removed a rather
+           crucial line from dir.c a few revisions ago, and no one noticed. :(
+           Fixed. The win32 userdir will default to the base dir, now.
+09252001 - Changed API: PHYSFS_setSaneConfig() takes an organization name, and
+           sets up less directories. Be warned. Fixes from David Hedbor:
+           make setSaneConfig() set write directory correctly if it had to
+           create the directory, and make sure that the writing functions
+           get used in dir.c when a file is opened for writing/appending.
+           Updated CREDITS.
+09142001 - David Hedbor submitted a patch to handle a case where the
+           current working directory has been deleted out from under the
+           process (both in platform/unix.c and physfs.c itself). Thanks,
+           David! Added a CREDITS file. Changed the format of the author field
+           in PHYSFS_ArchiveInfo to put the email address between "<>" instead
+           of "()" chars. Updated TODO. make install now deletes previous
+           revisions of the library. Changed version to 0.1.4.
+09012001 - Happy September. Moved the Visual C project files and the zlib
+           source to a separate download. Look for it at
+           http://icculus.org/physfs/downloads/physfs-win32-support.zip ...
+           Updated the INSTALL doc for Win32 building. Rewrote win32.c's
+           __PHYSFS_platformRealPath() to not rely on Visual C's runtime lib,
+           which was the last Cygwin incompatibility (although the Makefile
+           needs to be updated to build a DLL under Cygwin). Tinkered with the
+           Makefile a little, but it needs more work. Started working on a
+           MacOS version. All I have is CodeWarrior 4, which is way out of
+           date, and (for what is supposed to be an ultra-user-friendly
+           environment) is completely uninituitive to me. Still, managed to
+           get most everything compiling, which improved the quality of the
+           code somewhat). Haven't tried to compile the zipfile support, and
+           I still can't link the library. Dunno what the hell I'm supposed
+           to do there. Isn't Unix supposed to be hard compared to this?
+08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean,
+           but there's at least one byte-ordering issue in zip.c that needs
+           to be fixed.
+08292001 - win32.c calculates the base dir with GetModuleFileName() first, now,
+           and falls back to SearchPath() if there were problems. Changed an
+           occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can
+           handle it.
+08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating
+           the userdir. Added include files that make it a little closer to
+           compiling under Cygwin. Added a TODO file. Fixed unix.c's
+           __PHYSFS_platformCalcBaseDir() so that it actually works. Fixed
+           Makefile so that it links the test program properly.
+           Changed version to 0.1.3.
+08232001 - Fixed a potential free()ing of a NULL pointer in
+           __PHYSFS_platformEnumerateFiles() in platform/unix.c. Added
+           platform/win32.c. Other cleanups to get this compiling with
+           Visual C and CygWin. Added BAIL_MACRO for times when we were doing
+           BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers.
+           Added GRP setting output to showcfg in the Makefile. Updated INSTALL
+           with license info and Win32 build instructions. Dependency on the
+           readline library in test_physfs.c is now optional.
+           Changed version to 0.1.2.
+08072001 - Changed version to 0.1.1.
+08062001 - Added CD-ROM detection code to the unix platform driver.
+08012001 - Added a safety memset in error setting, fixed URLs and email addr.
+07282001 - Initial release.
+
+--ryan. (icculus@icculus.org)
+
+/* end of CHANGELOG ... */
+
--- a/CREDITS	Sun Mar 11 10:17:37 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-Initial API interface and implementation,
-Unix support,
-Win32 support,
-BeOS support,
-POSIX support,
-MacOS support,
-OS/2 support,
-GRP archiver,
-DIR archiver,
-ZIP archiver,
-QPAK archiver,
-MacOS Classic support:
-    Ryan C. Gordon
-
-Tons of win32 help:
-    Adam Gates
-
-More win32 hacking:
-    Gregory S. Read
-
-Fixes for missing current working directories,
-PHYSFS_setSaneConfig() improvements,
-other bugfixes:
-    David Hedbor
-
-Darwin support:
-    Patrick Stein
-
-configure fixes,
-RPM specfile:
-    Edward Rudd
-
-GetLastModTime API,
-other stuff:
-    John R. Hall
-
-Various support, fixes and suggestions:
-    Alexander Pipelka
-
-Russian translation,
-Ruby bindings,
-QPAK archiver:
-    Ed Sinjiashvili
-
-French translation:
-    Stéphane Peter
-
-Debian package support:
-    Colin Bayer
-
-"abs-file.h" in "extras" dir:
-    Adam D. Moss
-
-WinCE port and other Win32 patches:
-    Corona688
-
-German translation:
-    Michael Renner
-
-Apple Project Builder support,
-MacOS X improvements:
-    Eric Wing
-
-HOG archiver,
-MVL archiver,
-    Bradley Bell
-
-MIX archiver,
-    Sebastian Steinhauer
-
-Bug fixes:
-    Tolga Dalman
-
-Initial PHYSFS_mount() work:
-    Philip D. Bober
-
-Brazillian Portuguese translation:
-    Danny Angelo Carminati Grein
-
-Spanish translation:
-    Pedro J. Pérez
-
-MacOS Classic fixes,
-MPW support:
-    Chris Taylor
-
-Mingw support,
-General bug fixes:
-    Matze Braun
-
-Bug fixes:
-    Jörg Walter
-
-Windows .rc file:
-7zip/lzma archiver,
-    Dennis Schridde
-
-Other stuff:
-    Your name here! Patches go to icculus@icculus.org ...
-
-/* end of CREDITS ... */
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CREDITS.txt	Sun Mar 11 10:19:52 2007 +0000
@@ -0,0 +1,102 @@
+Initial API interface and implementation,
+Unix support,
+Win32 support,
+BeOS support,
+POSIX support,
+MacOS support,
+OS/2 support,
+GRP archiver,
+DIR archiver,
+ZIP archiver,
+QPAK archiver,
+MacOS Classic support:
+    Ryan C. Gordon
+
+Tons of win32 help:
+    Adam Gates
+
+More win32 hacking:
+    Gregory S. Read
+
+Fixes for missing current working directories,
+PHYSFS_setSaneConfig() improvements,
+other bugfixes:
+    David Hedbor
+
+Darwin support:
+    Patrick Stein
+
+configure fixes,
+RPM specfile:
+    Edward Rudd
+
+GetLastModTime API,
+other stuff:
+    John R. Hall
+
+Various support, fixes and suggestions:
+    Alexander Pipelka
+
+Russian translation,
+Ruby bindings,
+QPAK archiver:
+    Ed Sinjiashvili
+
+French translation:
+    Stéphane Peter
+
+Debian package support:
+    Colin Bayer
+
+"abs-file.h" in "extras" dir:
+    Adam D. Moss
+
+WinCE port and other Win32 patches:
+    Corona688
+
+German translation:
+    Michael Renner
+
+Apple Project Builder support,
+MacOS X improvements:
+    Eric Wing
+
+HOG archiver,
+MVL archiver,
+    Bradley Bell
+
+MIX archiver,
+    Sebastian Steinhauer
+
+Bug fixes:
+    Tolga Dalman
+
+Initial PHYSFS_mount() work:
+    Philip D. Bober
+
+Brazillian Portuguese translation:
+    Danny Angelo Carminati Grein
+
+Spanish translation:
+    Pedro J. Pérez
+
+MacOS Classic fixes,
+MPW support:
+    Chris Taylor
+
+Mingw support,
+General bug fixes:
+    Matze Braun
+
+Bug fixes:
+    Jörg Walter
+
+Windows .rc file:
+7zip/lzma archiver,
+    Dennis Schridde
+
+Other stuff:
+    Your name here! Patches go to icculus@icculus.org ...
+
+/* end of CREDITS.txt ... */
+
--- a/TODO	Sun Mar 11 10:17:37 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-Stuff that needs to be done and wishlist:
-
-These are in no particular order.
-Some might be dupes, some might be done already.
-
-UNICODE:
-- Windows: Can use Unicode, but might only allow "codepages" ... Use
-           GetProcAddress() to find Unicode entry points on WinNT-based
-           systems, otherwise try to use a sane codepage.
-- Mac Classic: apparently supports _something_, but I might just write it off
-               as a loss.
-- OS/2: Codepages. No full Unicode in the filesystem, but we can probably make
-        a conversion effort.
-- Everywhere: Move stricmp() out of platform layer and make it grok UTF-8.
-
-
-Stuff:
-- Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, etc. These are less
-  important, since streaming archives aren't of much value to games (which
-  is why zipfiles are king: random access), but it could have uses for, say,
-  an installer/updater.
-- Stack allocate in stripAppleBundle() (platform/unix.c) instead of calloc().
-- Reduce malloc() pressure all over the place. We fragment memory like mad.
-- macclassic.c :
-  "/* (Hmm. Default behaviour is broken in the base library.  :)  )  */"
-- Platforms to port to: Amiga (needs platform driver), DOS4GW (platform driver).
-- profile string list interpolation.
-- We have two different ways to find dir entries in zip.c.
-- Do symlinks in zip archiver work when they point to dirs?
-- Enable more warnings?
-- Use __cdecl in physfs.h?
-- Look for FIXMEs (many marked with "!!!" in comments).
-- Probably other stuff. Requests and recommendations are welcome.
-- Cygwin should use unix/posix and not win32 platform code.
-- Expose the archiver registration mechanism to the outside world.
-- Find some way to relax or remove the security model for external tools.
-- Non-blocking I/O
-- mmap() in posix.c
-- OSX shouldn't use ~/.app for userdir.
-- fscanf and fprintf support in extras dir.
-- Why do we call it openArchive and dirClose?
-- Sanity check byte order at runtime.
-- Memory locking?
-- Find a better name than dvoid and fvoid.
-- Can win32.c and pocketpc.c get merged?
-- There's so much cut-and-paste between archivers...can this be reduced?
-- General code audit.
-- Multiple write dirs with mount points?
-- Deprecate PHYSFS_setSaneConfig and move it to extras?
-- Why is physfsrwops.c cut-and-pasted into the ruby bindings?
-- Replace code from SDL...
-- Should file enumeration return an error or set error state?
-- Update internal zlib?
-- Need "getmountpoint" command in test_physfs.c ...
-- Look for calloc() calls that aren't going through the allocation hooks.
-- maybe other stuff.
-- Is -Wall enabled?
-- Make mutexes recursive, so callbacks can call into the API.
-- Archivers need abstracted i/o to read from memory or files (archives in archives?)
-
-// end of TODO ...
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TODO.txt	Sun Mar 11 10:19:52 2007 +0000
@@ -0,0 +1,62 @@
+Stuff that needs to be done and wishlist:
+
+These are in no particular order.
+Some might be dupes, some might be done already.
+
+UNICODE:
+- Windows: Can use Unicode, but might only allow "codepages" ... Use
+           GetProcAddress() to find Unicode entry points on WinNT-based
+           systems, otherwise try to use a sane codepage.
+- Mac Classic: apparently supports _something_, but I might just write it off
+               as a loss.
+- OS/2: Codepages. No full Unicode in the filesystem, but we can probably make
+        a conversion effort.
+- Everywhere: Move stricmp() out of platform layer and make it grok UTF-8.
+
+
+Stuff:
+- Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, etc. These are less
+  important, since streaming archives aren't of much value to games (which
+  is why zipfiles are king: random access), but it could have uses for, say,
+  an installer/updater.
+- Stack allocate in stripAppleBundle() (platform/unix.c) instead of calloc().
+- Reduce malloc() pressure all over the place. We fragment memory like mad.
+- macclassic.c :
+  "/* (Hmm. Default behaviour is broken in the base library.  :)  )  */"
+- Platforms to port to: Amiga (needs platform driver), DOS4GW (platform driver).
+- profile string list interpolation.
+- We have two different ways to find dir entries in zip.c.
+- Do symlinks in zip archiver work when they point to dirs?
+- Enable more warnings?
+- Use __cdecl in physfs.h?
+- Look for FIXMEs (many marked with "!!!" in comments).
+- Probably other stuff. Requests and recommendations are welcome.
+- Cygwin should use unix/posix and not win32 platform code.
+- Expose the archiver registration mechanism to the outside world.
+- Find some way to relax or remove the security model for external tools.
+- Non-blocking I/O
+- mmap() in posix.c
+- OSX shouldn't use ~/.app for userdir.
+- fscanf and fprintf support in extras dir.
+- Why do we call it openArchive and dirClose?
+- Sanity check byte order at runtime.
+- Memory locking?
+- Find a better name than dvoid and fvoid.
+- Can win32.c and pocketpc.c get merged?
+- There's so much cut-and-paste between archivers...can this be reduced?
+- General code audit.
+- Multiple write dirs with mount points?
+- Deprecate PHYSFS_setSaneConfig and move it to extras?
+- Why is physfsrwops.c cut-and-pasted into the ruby bindings?
+- Replace code from SDL...
+- Should file enumeration return an error or set error state?
+- Update internal zlib?
+- Need "getmountpoint" command in test_physfs.c ...
+- Look for calloc() calls that aren't going through the allocation hooks.
+- maybe other stuff.
+- Is -Wall enabled?
+- Make mutexes recursive, so callbacks can call into the API.
+- Archivers need abstracted i/o to read from memory or files (archives in archives?)
+
+// end of TODO.txt ...
+
--- a/physfs.h	Sun Mar 11 10:17:37 2007 +0000
+++ b/physfs.h	Sun Mar 11 10:19:52 2007 +0000
@@ -203,7 +203,7 @@
  * Please see the file LICENSE.txt in the source's root directory for licensing
  *  and redistribution rights.
  *
- * Please see the file CREDITS in the source's root directory for a more or
+ * Please see the file CREDITS.txt in the source's root directory for a more or
  *  less complete list of who's responsible for this.
  *
  *  \author Ryan C. Gordon.