603 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			603 lines
		
	
	
		
			39 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						|||
| 
								 | 
							
								 * CHANGELOG.
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								04032007 - Added a "make dist" target for packing up source code releases.
							 | 
						|||
| 
								 | 
							
								           Reverted Unix recursive mutex code. There were some portability
							 | 
						|||
| 
								 | 
							
								           issues I didn't anticipate. Upped version to 1.1.1!
							 | 
						|||
| 
								 | 
							
								04022007 - Added wxWidgets-based test program (incomplete). Filled in and
							 | 
						|||
| 
								 | 
							
								           corrected some Doxygen comments.
							 | 
						|||
| 
								 | 
							
								04012007 - Added PHYSFS_isInit() and PHYSFS_symbolicLinksPermitted() functions.
							 | 
						|||
| 
								 | 
							
								03312007 - Added a quick'n'dirty unpack utility to the extras directory. Moved
							 | 
						|||
| 
								 | 
							
								           DIR archiver to start of the list, so we don't have to have every
							 | 
						|||
| 
								 | 
							
								           other archiver fail to open a directory as a file before mounting
							 | 
						|||
| 
								 | 
							
								           it. Fixed typos in makeos2.cmd and the Doxygen comments. Added
							 | 
						|||
| 
								 | 
							
								           symlink support to windows.c for use on Vista-based systems.
							 | 
						|||
| 
								 | 
							
								03282007 - Logic bug in MVL/HOG/GRP archivers: only enumerated files when
							 | 
						|||
| 
								 | 
							
								           looking in a directory other than the root, instead of enumerating
							 | 
						|||
| 
								 | 
							
								           only for the root (thanks, Chris!). Minor fix for compilers that
							 | 
						|||
| 
								 | 
							
								           don't like the BAIL_* macros with an empty argument
							 | 
						|||
| 
								 | 
							
								           (thanks, Chris!)
							 | 
						|||
| 
								 | 
							
								03262007 - Tons of Unicode work in windows.c ... should now use UCS-2 on
							 | 
						|||
| 
								 | 
							
								           NT/XP/Vista/etc versions of the OS, and fallback to "ANSI" versions
							 | 
						|||
| 
								 | 
							
								           for 95/98/ME, tapdancing around the system codepage if it has to.
							 | 
						|||
| 
								 | 
							
								           Since the Unicode entry points are dynamically loaded, it won't
							 | 
						|||
| 
								 | 
							
								           have issues with missing symbols on Win9x, nor does it need to be
							 | 
						|||
| 
								 | 
							
								           built separately with #define UNICODE (although it will work the
							 | 
						|||
| 
								 | 
							
								           same with or without this define, as it doesn't use TCHARs or
							 | 
						|||
| 
								 | 
							
								           the non-[WA] versions of APIs. Other minor Windows cleanups and
							 | 
						|||
| 
								 | 
							
								           corrections.
							 | 
						|||
| 
								 | 
							
								03252007 - Improved dynamic loader and initial Unicode work in windows.c ...
							 | 
						|||
| 
								 | 
							
								03242007 - Replaced BeOS semaphores with BLockers for the mutex implementation.
							 | 
						|||
| 
								 | 
							
								           It's much simpler, it has "benaphores" built in behind the scenes
							 | 
						|||
| 
								 | 
							
								           for faster performance, and it's recursive...also, we were
							 | 
						|||
| 
								 | 
							
								           previously setting the PhysicsFS error state if BeOS mutex grabbing
							 | 
						|||
| 
								 | 
							
								           failed (a big no no!), and that's now fixed. Good wins all around.
							 | 
						|||
| 
								 | 
							
								03222007 - Replaced some Malloc and all the alloca() calls with
							 | 
						|||
| 
								 | 
							
								           __PHYSFS_smallAlloc(), 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). Hopefully some internal interfaces can now get
							 | 
						|||
| 
								 | 
							
								           refactored to stop generating heap pointers and let the caller use
							 | 
						|||
| 
								 | 
							
								           smallAlloc to further reduce malloc pressure.
							 | 
						|||
| 
								 | 
							
								03212007 - Replaced LONGLONGLITERAL with __PHYSFS_UI64/__PHYSFS_SI64 ...
							 | 
						|||
| 
								 | 
							
								03202007 - Removed platform/skeleton.c (it was out of date), added
							 | 
						|||
| 
								 | 
							
								           platform/macosx.c (To further Macify the code and get the #ifdefs
							 | 
						|||
| 
								 | 
							
								           out of unix.c), and refactored the platform layer to try and
							 | 
						|||
| 
								 | 
							
								           make the unix/posix/macosx/beos sources try to find a split that
							 | 
						|||
| 
								 | 
							
								           works. Moved the platform allocators to physfs.c, since all but
							 | 
						|||
| 
								 | 
							
								           Mac OS X were using malloc()...there's now an interface for the
							 | 
						|||
| 
								 | 
							
								           platform to supply a custom allocator if they don't want the malloc
							 | 
						|||
| 
								 | 
							
								           version. Removed __PHYSFS_platformTimeslice(), as it's no longer
							 | 
						|||
| 
								 | 
							
								           being used. Replaced manual management of pthread mutexes with
							 | 
						|||
| 
								 | 
							
								           PTHREAD_MUTEX_RECURSIVE attribute...let's see what platforms
							 | 
						|||
| 
								 | 
							
								           throw up on that. Handled documentation comment FIXME in physfs.h.
							 | 
						|||
| 
								 | 
							
								03192007 - Fixed two switched strings in CMakeLists.txt ... patch to compile
							 | 
						|||
| 
								 | 
							
								           with latest Windows Platform SDK. Explicitly check for NULL in
							 | 
						|||
| 
								 | 
							
								           PHYSFS_init() when we can't go on without a real string here.
							 | 
						|||
| 
								 | 
							
								           Removed ANSI-C workaround for missing lstat() nonsense in posix.c
							 | 
						|||
| 
								 | 
							
								           (POSIX != ANSI, time to give up here). Try to use /proc/self/exe
							 | 
						|||
| 
								 | 
							
								           to find the base dir on Unix, so we can do without argv[0] on
							 | 
						|||
| 
								 | 
							
								           systems with a Linux-like /proc filesystem.
							 | 
						|||
| 
								 | 
							
								03162007 - Changed PHYSFS_file from a typedef to a #define (in case it would
							 | 
						|||
| 
								 | 
							
								           cause an aggressive compiler to think you're passing the wrong type
							 | 
						|||
| 
								 | 
							
								           to a function) and added Doxygen comments to explain it.
							 | 
						|||
| 
								 | 
							
								03152007 - Bunch of work on Unicode...added case-folding stricmp, removed
							 | 
						|||
| 
								 | 
							
								           platform-specific stricmp implementations, changed appropriate
							 | 
						|||
| 
								 | 
							
								           calls to an ASCII-only stricmp that ignores locale. Fixed case on
							 | 
						|||
| 
								 | 
							
								           UTF-8 API entry points.
							 | 
						|||
| 
								 | 
							
								03142007 - Dropped classic Mac OS support. It's just too hard to find a working
							 | 
						|||
| 
								 | 
							
								           Mac OS 9 install and reasonable development tools, so it's not
							 | 
						|||
| 
								 | 
							
								           worth it. If you still target OS 8 or 9, please use PhysicsFS 1.0.
							 | 
						|||
| 
								 | 
							
								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.
							 | 
						|||
| 
								 | 
							
								           Now compiles everything whether we need it or not, removing whole
							 | 
						|||
| 
								 | 
							
								           files with #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.
							 | 
						|||
| 
								 | 
							
								           Updated makeos2.cmd for newer Innotek toolchain (thanks, Dave!)
							 | 
						|||
| 
								 | 
							
								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<53>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 ... */
							 | 
						|||
| 
								 | 
							
								
							 |