CHANGELOG
author Ryan C. Gordon <icculus@icculus.org>
Mon, 25 Jul 2005 01:38:07 +0000
changeset 745 df04959950eb
parent 743 8afd4cb34040
child 746 88780f7156d3
permissions -rw-r--r--
Patched to compile again on BeOS.
icculus@59
     1
/*
icculus@59
     2
 * CHANGELOG.
icculus@59
     3
 */
icculus@621
     4
icculus@745
     5
07242005 - Patched to compile on BeOS.
icculus@715
     6
07232005 - Fixed bug in zip archiver (thanks, Jörg Walter!).
icculus@718
     7
           More minor OS/2 tweaks. Updated zlib to 1.2.3, which properly
icculus@725
     8
           includes the security fix. Fixed "make dist" to handle .svn dirs
icculus@734
     9
           and other file changes. Removed "debian" directory. Allow a mount
icculus@736
    10
           point of NULL to be "/", per the documentation. Fixed warning in
icculus@743
    11
           physfs.c. Assert definition fix. Updated CWProjects.sit.
icculus@728
    12
           Upped version to 1.1.0 ... first release of 1.1 dev branch!
icculus@714
    13
07212005 - Patched to compile on OS/2 again.
icculus@710
    14
07132005 - Updated zlib to 1.2.2, and patched it for this security hole:
icculus@710
    15
           http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2096
icculus@707
    16
06122005 - Added support for mingw to Unix build process (thanks, Matze!).
icculus@696
    17
03162005 - Added missing translation and Portuguese support (thanks, Danny!).
icculus@696
    18
           MPW support and several MacOS Classic fixes (thanks, Chris!).
icculus@703
    19
           Changed CWProjects from SITX to SIT format, so OS9 users can
icculus@703
    20
           unpack it.
icculus@687
    21
03132005 - More mount work, added PHYSFS_getMountPoint() and more cleanups.
icculus@690
    22
           Replaced all the C runtime allocations with PhysFS allocation hooks.
icculus@690
    23
           Added pocketpc.c to EXTRA_DIST. Added allocation hooks to some
icculus@692
    24
           platform drivers. Updated Mac Classic build.
icculus@677
    25
03122005 - Added evil GOTO_*_MACRO_* macros. Fixed unix.c to compile again on
icculus@680
    26
           MacOS X. Added PHYSFS_mount() (thanks, Philip!). Cleaned up the
icculus@682
    27
           INSTALL and CREDITS files a little. Split off start of
icculus@682
    28
           verifySecurity() into a path sanitizer and changed entry points to
icculus@682
    29
           sanitize input paths into a stack-allocated buffer before further
icculus@682
    30
           processing. This removes the need for a malloc() for almost all
icculus@682
    31
           file system operations, and generally cleaned things up. Added a
icculus@682
    32
           "mount" command to test_physfs. Other general cleanups.
icculus@674
    33
02152005 - Minor comment fix in platform/pocketpc.c
icculus@671
    34
01052005 - Fixed HOG archiver file lookup (thanks, Chris!)
icculus@669
    35
12162004 - Fixed some documentation/header comment typos (thanks, Gaetan!)
icculus@663
    36
10302004 - Fixed a strcpy that should have been a strcat. (thanks, Tolga!)
icculus@666
    37
           Build system respects external CFLAGS now. (thanks, Adam!)
icculus@668
    38
           Fixed infinite loop in new enumeration code. (thanks, Adam!)
icculus@662
    39
10062004 - Removed profiling code from physfs.c.
icculus@657
    40
09292004 - Every API that can return a list of strings can now use a
icculus@657
    41
           callback mechanism if the application wants to do it's own
icculus@657
    42
           allocation or handling on a per-item basis. The guts of those
icculus@657
    43
           APIs that create string lists now use the callbacks themselves to
icculus@657
    44
           build the lists, too. The callback functionality goes all the way
icculus@657
    45
           down to the archivers and platform drivers where appropriate, which
icculus@657
    46
           cleans things up and simplifies some internal tasks very nicely.
icculus@658
    47
           Got rid of all the annoying forward declarations in all the
icculus@658
    48
           archivers and moved their PHYSFS_Archiver data to the end of the
icculus@658
    49
           file, since this was annoying me and I was getting sick of updating
icculus@658
    50
           function signatures in two places when the internal API changed.
icculus@659
    51
           Removed the code/data for LinkedStringLists...it isn't used anymore
icculus@659
    52
           now that the callback code is in place.
icculus@650
    53
09262004 - Did the same thing to FileHandles than I did to DirHandles, but
icculus@650
    54
           this triggered massive tweaking in physfs.c. A lot of code got
icculus@650
    55
           little cleanups, which was nice. Less malloc pressure, too, since
icculus@650
    56
           opening a file used to allocate a ton of crap and mush it
icculus@650
    57
           together...now it's basically down to one structure and the
icculus@652
    58
           instance data in whatever archiver. Minor varname tweak in win32.c
icculus@652
    59
           and pocketpc.c. Changed PHYSFS_file to PHYSFS_File to match the
icculus@652
    60
           rest of the API's naming scheme (but put a typedef for source
icculus@652
    61
           compatibility).
icculus@648
    62
09252004 - Cleaned up archiver interface to not deal with DirHandles anymore,
icculus@648
    63
           which simplifies things, removes some responsibility and code
icculus@648
    64
           duplication from the archivers, and trims some malloc pressure.
icculus@648
    65
           Ripped up the allocation hook code a little. We'll try to screw
icculus@648
    66
           with memory locking later, since it makes everything ugly and
icculus@648
    67
           complex. Oh well.
icculus@645
    68
09232004 - Started adding allocation hooks.
icculus@642
    69
09222004 - Happy September. Added Spanish translation back in.
icculus@632
    70
04092004 - Added MIX support for legacy Westwood titles (Thanks, Sebastian!).
icculus@632
    71
           Made bootstrap script MacOSX-friendly. Moved byteorder defines into
icculus@632
    72
           physfs_internal.h ...
icculus@626
    73
01152003 - Added Portuguese (Brazil) translation (Thanks, Danny!)
icculus@621
    74
12292003 - Updated CodeWarrior projects from CW6 to CW7, and made a bunch of
icculus@621
    75
           patches to get the Mac Classic target building again. Removed
icculus@621
    76
           zlib114 from CVS repository. Updated OS/2 build batch file.
icculus@624
    77
           Added Z_PREFIX define to Unix builds that use internal zlib.
icculus@624
    78
           Patched up some (outdated?) Visual C project files for zlib121.
icculus@624
    79
           Patched Doxyfile and physfs.h for newer Doxygen. Fixed OS/2
icculus@624
    80
           build script. Tweaked Project Builder files to at least compile.
icculus@624
    81
           Added some last minute BeOS and Cygwin build fixes. Updated
icculus@624
    82
           Visual Studio projects and tweaked some Makefile.am crap. Made
icculus@624
    83
           changes so Visual Studio files would pack with DOS endlines and...
icculus@624
    84
           Upped version to 1.0.0 (woohoo!).
icculus@616
    85
12222003 - Fixed a search-and-replace mistake in win32.c that preventing
icculus@621
    86
           compiling on Windows. (thanks, Brian!) Converted VC6 .dsp to use
icculus@621
    87
           zlib121; made Z_PREFIX=1 enabled by default to avoid link clashes;
icculus@621
    88
           put zlib files in separate logical folder in .dsp project; updated
icculus@621
    89
           zlib121/zconf.h to address remaining symbols that were still
icculus@621
    90
           causing link warnings.
icculus@611
    91
12182003 - WAD archiver now puts maps into subdirectories, making them
icculus@614
    92
           accessible to the application. (Thanks, Travis!) RPM spec and
icculus@614
    93
           Makefile.am* now package zlib_license_change.txt (Thanks, Edward!)
icculus@611
    94
12142003 - Added Doom WAD support (Thanks, Travis!)
icculus@607
    95
12082003 - Fixed some win32.c deficiencies that Robby Dermody pointed
icculus@607
    96
           out (thanks!)
icculus@605
    97
12072003 - Upgraded internal zlib to 1.2.1 (thanks, Adam!) Other
icculus@605
    98
           Unix build fixes.
icculus@600
    99
11112003 - Patches to make OS/2 support compile again.
icculus@598
   100
11092003 - Added __PHYSFS_platformStrnicmp(), and made qpak.c case-insensitive.
icculus@595
   101
09122003 - Happy September. Actually released current tree as 0.1.9.
icculus@594
   102
08262003 - Added MiNT support to build process and fixed cross-compiling
icculus@594
   103
           (thanks Patrice Mandin!)
icculus@595
   104
08092003 - Some Windows build fixes (thanks, Brian Hook!)
icculus@588
   105
07232003 - Upped version to 0.1.9.
icculus@576
   106
07202003 - Switched to zlib license (see new LICENSE text in root of source
icculus@576
   107
           tree, and zlib_license_switch.txt for details). Had to remove
icculus@576
   108
           archivers/qpak.c, the Ruby bindings from the extras directory, and
icculus@576
   109
           the Russian and Spanish translations, since those contributors
icculus@576
   110
           couldn't be contacted. If they show up, we'll readd them to the
icculus@576
   111
           project, otherwise we'll eventually replace their work...everyone
icculus@580
   112
           else signed on for the change. Committed a patch to convert all
icculus@580
   113
           tabs to spaces (Thanks, James!). Added patch to zip.c to fix
icculus@583
   114
           crash (thanks, dillo!). Reimplmented qpak.c, by welding together
icculus@586
   115
           bits of grp.c and zip.c. Ed contacted me, so I could readd his
icculus@586
   116
           contributions post-license change...I'm going to keep the new
icculus@586
   117
           qpak.c, but I've readded his Ruby bindings and Russian translations.
icculus@574
   118
06112003 - Patches to globbing.c to handle corner cases (thanks, Bradley!).
icculus@574
   119
06102003 - Added globbing.c to "extras" directory.
icculus@572
   120
05232003 - Rewrote MacOSX/Darwin CD-ROM detection code to use IOKit, which is
icculus@572
   121
           much much more accurate than the previous code. Updated
icculus@572
   122
           configure.in and Makefile.am.newautomake for some MacOSX stuff.
icculus@569
   123
05222003 - Fixed win32 crash if PHYSFS_init() is called with a NULL.
icculus@567
   124
05182003 - PocketPC fixes (thanks, David Hedbor!)
icculus@565
   125
05162003 - Compiler warning cleanup in HOG and MVL archivers (Thanks, Bradley!)
icculus@563
   126
04082003 - Minor changes to extras/abs-file.h (Thanks, Adam!)
icculus@552
   127
03302003 - Fixed seeking in uncompressed ZIP entries, and handle a
icculus@552
   128
           misbehaviour in Java's JAR creation tools. Thanks to "Tree" for
icculus@554
   129
           pointing these bugs out. Added HOG and MVL archive support for
icculus@556
   130
           Descent I and II (Thanks, Bradley Bell!). Added example code to
icculus@556
   131
           do case-insensitive file searches ("extras/ignorecase.*").
icculus@548
   132
03192003 - Fixed problem in PHYSFS_mkdir() when dirs to be created already
icculus@548
   133
           exist. Fixed problem where PHYSFS_mkdir() incorrectly tripped an
icculus@548
   134
           alarm in __PHYSFS_verifySecurity().
icculus@544
   135
03122003 - Attempt at cleaning up some type correctness for VC++6. Made QPAK
icculus@544
   136
           archiver case-insensitive (since Quake2 has problems without it).
icculus@539
   137
01302003 - Added buffering API to OS/2 build's exported symbol list. Updated
icculus@539
   138
           CWProjects.sit and made several fixes to get physfs building on
icculus@539
   139
           MacOS Classic again.
icculus@534
   140
01282003 - Fixed seeking in buffered files opened for read.
icculus@535
   141
01072003 - .NET assembly and C# wrapper by Gregory S. Read in the extras dir.
icculus@526
   142
01042003 - Added a hack for dealing with OSX bundles and newer PBProjects
icculus@526
   143
           (thanks, Eric Wing!). Added some missing files to "make dist".
icculus@531
   144
           Fixed minor Doxygen typo in PHYSFS_flush() docs. Upped version to
icculus@531
   145
           0.1.8.
icculus@519
   146
12172002 - Added Apple Project Builder support files (thanks, Eric Wing!).
icculus@515
   147
12112002 - Added Ruby bindings to extras directory (thanks, Ed Sinjiashvili!).
icculus@517
   148
           Patched win32.c to compile with Mingw32 (thanks, Niels Wagenaar!).
icculus@513
   149
12032002 - Adam updated his extras/abs-file.h for the new buffering API.
icculus@510
   150
12022002 - German translation added, compliments of Michael Renner.
icculus@509
   151
12012002 - Minor fix to configure.in: reported --enable-debug's default
icculus@509
   152
           setting incorrectly. Added buffering to the API: you can now
icculus@509
   153
           buffer a file with PHYSFS_setBuffer(), and flush the buffer to
icculus@509
   154
           disk with PHYSFS_flush(). PhysicsFS file handles are unbuffered
icculus@509
   155
           by default (as they were before this API addition), so this does
icculus@509
   156
           not break the API. Other fixes for bugs I stumbled upon during
icculus@509
   157
           this work are in CVS, too.
icculus@506
   158
11292002 - Minor fix for strange PATH strings in unix.c (thanks, Alexander!)
icculus@503
   159
11222002 - Initial PocketPC port by Corona688.
icculus@499
   160
10222002 - Fixed segfault in test_physfs.c when user hits CTRL-D (and
icculus@499
   161
           readline() thus returns NULL)...now gracefully exits, as it should.
icculus@498
   162
10142002 - Added check for AMD's x86-64 ("Hammer") architecture when
icculus@498
   163
           determining platform byte order.
icculus@496
   164
10112002 - Fixed "setsaneconfig" command in test_physfs.c ...
icculus@493
   165
09232002 - Happy September. Updated VC++6 project files, fixed some
icculus@493
   166
           VC++ compile nags (more work to be done in zip.c).
icculus@492
   167
08302002 - Cleaned tab stops out of zip.c, and fixed a possible infinite loop
icculus@492
   168
           in zip_find_entry().
icculus@488
   169
08292002 - Fixed a mistake in makeos2.cmd, and updated the INSTALL docs.
icculus@490
   170
           Added physfs.spec.in to EXTRA_DIST in Makefile.am*
icculus@486
   171
08292002 - Added a physfs/stdio wrapper header to the "extras" dir,
icculus@486
   172
           compliments of Adam D. Moss (file is "abs-file.h").
icculus@479
   173
08282002 - Cleanups in grp.c so that Visual C++ doesn't complain anymore.
icculus@484
   174
           zip.c now works correctly when PhysicsFS is disallowing symlinks.
icculus@484
   175
           A few minor optimizations in zip.c, with a few more to come later.
icculus@484
   176
           Added VS.NET project files to CVS.
icculus@477
   177
08222002 - Fixed ZIP_exists() to work with directories. Now breaks out of
icculus@477
   178
           __PHYSFS_verifySecurity() early if a path element is missing
icculus@477
   179
           (since all the others will be, too)...this check is only done
icculus@477
   180
           if symlinks are disabled, but we might as well save easy cycles
icculus@477
   181
           where we can.
icculus@466
   182
08212002 - Did a couple tedious-for-small-rewards cleanups, optimizations,
icculus@466
   183
           corrections and streamlinings I've been meaning to do. Touched a
icculus@469
   184
           lot of code. One of the side results is that ZIP_isDirectory()
icculus@469
   185
           got fixed.
icculus@463
   186
08192002 - Generalized sorting routines, moved them into physfs.c and removed
icculus@463
   187
           the multiple copies from the various archivers. Adding profiling
icculus@463
   188
           code (currently only for sort routines)...enable it with
icculus@463
   189
           --enable-profiling in the configure script. Fixed incorrect
icculus@463
   190
           behaviours in configure.in.
icculus@460
   191
08172002 - Patched configure.in to work around buggy autoconfs.
icculus@458
   192
08162002 - Fixed QPAK archiver, since I broke it (sorry!). Also fixed a
icculus@458
   193
           qpak memory leak.
icculus@451
   194
08092002 - Added Quake PAK archiver (qpak.c) by Ed Sinjiashvili. Thanks!
icculus@455
   195
           Made (successful?) attempt to fix pthread-to-ui64 cast problem.
icculus@455
   196
           Check for OS/2 in configure.in, in case anyone gets autoconf and
icculus@455
   197
           such to work right on their OS/2 box.
icculus@449
   198
08012002 - Patched win32.c to compile.
icculus@447
   199
07302002 - Minor error handling fix (thanks, Alexander!)
icculus@428
   200
07292002 - Found some memory leaks, thanks to Valgrind (which rules, btw).
icculus@445
   201
           Added Russian translations (koi8-r, cp1251, cp866, and iso-8859-5)
icculus@445
   202
           by Ed Sinjiashvili. Added Spanish translation by Pedro J. Pérez.
icculus@445
   203
           Debian package support in CVS, thanks to Colin Bayer. French
icculus@445
   204
           translation by Stéphane Peter.
icculus@425
   205
07282002 - macclassic.c now returns human readable error messages instead of
icculus@426
   206
           ERR_OS_ERROR. Closing files on MacOS no longer fails if the volume
icculus@426
   207
           info can't be flushed. Minor error message tweak in os2.c. All
icculus@426
   208
           possible human-readable literal strings (including all those OS/2
icculus@426
   209
           and MacOS error messages) have moved to constants in
icculus@426
   210
           physfs_internal.h...this allows the library to be translated to
icculus@436
   211
           other spoken languages fairly easily.
icculus@418
   212
07272002 - Patched the OS/2 code to be useful...works pretty well, now. Added
icculus@410
   213
           makeos2.cmd for building (not an ideal solution, but oh well).
icculus@414
   214
           Initialized some variables in zip.c to prevent compiler whining.
icculus@400
   215
07262002 - Fixed a typo in documentation. Archivers with matching file
icculus@400
   216
           extensions are now given first shot at opening an archive, but if
icculus@403
   217
           they fail, the other archivers are tried. More fixes to zip.c's
icculus@405
   218
           ZIP_enumerateFiles(). Wrote an OS/2 platform driver based on API
icculus@405
   219
           specs and a heavy pounding of Google Groups...as I don't have an
icculus@405
   220
           OS/2 compiler at the moment, it probably doesn't even compile.  :)
icculus@391
   221
07252002 - configure.in and unix.c now deal with platforms that lack a
icculus@391
   222
           functional pthread library. Edward Rudd sent in a patch to the RPM
icculus@391
   223
           specfile to have the build system set the correct version.
icculus@394
   224
           Clean ups in grp.c, beos.cpp and macclassic.c.
icculus@380
   225
07242002 - Rewrote ZIP_enumerate(). Hopefully it sucks less this time.
icculus@383
   226
           unix.c and configure.in now have the infrastructure to disable
icculus@383
   227
           the CD-ROM detection code, and use a stub that successfully (and
icculus@383
   228
           unconditionally) reports no detected discs. Currently this is
icculus@383
   229
           used on AtheOS (which doesn't have CD-ROM support at the moment
icculus@383
   230
           anyhow), but it will be useful to get the library up on odd,
icculus@383
   231
           Unix-like systems that don't use either getmntinfo() or getmntent().
icculus@366
   232
07232002 - Cleaned up the cut-and-pastes in the various file enumeration
icculus@366
   233
           routines and moved it into __PHYSFS_addToLinkedStringList().
icculus@366
   234
           Tons more ZIP file enhancing. I'm fairly certain it's robust and
icculus@366
   235
           fast in every reasonable respect, now. GRP archiver now caches
icculus@366
   236
           the file table...it was generally overhauled like the ZIP driver.
icculus@375
   237
           Added "ls" as an alias of "enumerate" in test_physfs.
icculus@377
   238
           I lied about zip.c's robustness; disabled the enumeration code.
icculus@356
   239
07212002 - More FreeBSD build system patches. Added some new autoconf spew to
icculus@358
   240
           .cvsignore. bootstrap now copies the appropriate Makefile.am
icculus@358
   241
           instead of rename()ing it.
icculus@352
   242
07192002 - Cleaned up configure.in and unix.c so that we check by available
icculus@352
   243
           header to determine the appropriate CD-ROM detection code...this
icculus@352
   244
           should make this more future-proof (and probably get it building
icculus@352
   245
           out of the box on other BSD platforms.)
icculus@346
   246
07172002 - Fixed seeking backwards in ZIP_seek(). Changed the error message
icculus@348
   247
           ERR_TOO_MANY_SYMLINKS to ERR_SYMLINK_LOOP. Patches to build system
icculus@349
   248
           and unix.c for FreeBSD compatibility. Added physfs.spec to
icculus@349
   249
           "make dist" archives (thanks, Edward Rudd!).
icculus@346
   250
07152002 - Symlinks in ZIP archives are detected correctly now, I think.
icculus@339
   251
07142002 - Use GetVolumeInformation() instead of GetDiskFreeSpace() in
icculus@339
   252
           win32.c's mediaInDrive() function. This allows Windows NT 3.x to
icculus@339
   253
           correctly detect CD-ROM drives. Library now appears to be fully
icculus@339
   254
           functional on WinNT 3.51...need to try NT 3.1 still.  :)
icculus@341
   255
           Patches to new ZIP code; cleaned up bugs in symlink reading code,
icculus@341
   256
           but we incorrectly identify some entries as symlinks, which doesn't
icculus@341
   257
           fly...for now, symlink code is commented out, so symlinks look
icculus@341
   258
           like regular files (and reading from a symlink entry gives you
icculus@341
   259
           the link as file data).
icculus@336
   260
07122002 - Rewrote the ZIP archiver to no longer use Gilles Vollant's unzip.c
icculus@336
   261
           code. Losing that abstraction should make the ZIP archiver
icculus@336
   262
           significantly more efficient, and halved the amount of code used.
icculus@336
   263
           Plus, being a control freak, I like my coding style more than
icculus@336
   264
           Gilles's. :)  There are still bugs to shake out, but this is good
icculus@336
   265
           progress.
icculus@333
   266
07112002 - configure.in updated to make it happier on newer autoconfs
icculus@334
   267
           (thanks again, Alexander!). FIXME cleanups.
icculus@324
   268
07102002 - Added a byteorder-friendly convenience API, so you can read/write
icculus@324
   269
           data and convert to the native byteorder without too much effort.
icculus@324
   270
           Upped version to 0.1.7.
icculus@329
   271
           Build system corrections for BeOS and Cygwin (thanks, Alexander!).
icculus@329
   272
           Added RPM specfile for PhysicsFS (thanks, Edward Rudd!).
icculus@315
   273
06292002 - Fixed incorrect error message when opening a file for read without
icculus@315
   274
           defining a search path. LOTS of win32 updates and fixes; lots of
icculus@315
   275
           things that were broken work now, and we are slowly becoming
icculus@315
   276
           more compatible with legacy win32 systems. Builds on Cygwin again.
icculus@315
   277
           All platform drivers (except beos.cpp) had a buffer overflow when
icculus@315
   278
           detecting mounted CD-ROM drives...it only occurs when a drive is
icculus@315
   279
           detected, and it probably won't result in your box getting rooted,
icculus@320
   280
           but upgrade soon anyhow. Readded the .cvsignore files from the old
icculus@320
   281
           build system.
icculus@309
   282
06282002 - Reworked build system _AGAIN_.
icculus@293
   283
06222002 - Alexander Pipelka spotted a bug in the file open routines in
icculus@293
   284
           posix.c; patched.
icculus@290
   285
06152002 - Autoconf build system will now generate shared libraries on BeOS,
icculus@290
   286
           and (supposedly) Cygwin.
icculus@290
   287
06142002 - Rewrote autoconf build system. It now works around the MacOS X bug
icculus@290
   288
           that prevented shared libraries from building.
icculus@281
   289
06112002 - Updated CodeWarrior projects and added them to CVS. _Finally_
icculus@281
   290
           officially released 0.1.6.
icculus@276
   291
06102002 - Major overhauls to platform/win32.c ... should work on all Windows
icculus@276
   292
           platforms, including 95/98/ME and NT/2K/XP flavors. Someone should
icculus@276
   293
           see if this builds on WinCE!  :)  You no longer need the latest
icculus@276
   294
           platform SDK to build it, either; the questionable DLL is accessed
icculus@276
   295
           with LoadLibrary() at runtime now, and handled if not present. This
icculus@276
   296
           now builds correctly on a freshly installed Visual Studio 6.0, and
icculus@277
   297
           the DLL it builds works everywhere. Plus, a bunch of other bugs
icculus@279
   298
           and incorrect behaviours were squashed. Visual Studio 6.0 project
icculus@279
   299
           file added to CVS.
icculus@271
   300
06082002 - Fixes to __PHYSFS_platformEnumerateFiles() in win32.c: cleaned up
icculus@271
   301
           memory leak, handles paths more robustly, and prevents possible
icculus@271
   302
           skipped file entries. Removed AC_C_CONST and AC_TYPE_SIZE_T checks
icculus@271
   303
           from configure.in (not needed, and they broke BeOS build). Clean
icculus@271
   304
           out the docs/ directory when doing a "make dist". Fixed crashbug
icculus@274
   305
           when calling PHYSFS_deinit() more than once in a row. Tried to get
icculus@274
   306
           MacOS X to build a shared library, gave up; I'm doing something
icculus@274
   307
           wrong in my Makefile.am, I think. On MacOS X, running ./configure
icculus@274
   308
           --enable-static --disable-shared works, though. Hopefully someone
icculus@274
   309
           will fix this soon. In unix.c, the Darwin version of
icculus@274
   310
           __PHYSFS_platformDetectAvailableCDs() was free()ing a static
icculus@274
   311
           buffer; fixed.
icculus@266
   312
06072002 - Manpages! Finally installed Doxygen and scratched together a
icculus@266
   313
           Doxyfile. After some revision to physfs.h, we've got a rather
icculus@266
   314
           nice API reference.
icculus@256
   315
06062002 - Fixed __PHYSFS_platformSeek() in archivers/posix.c. Implemented the
icculus@257
   316
           getLastModTime method in archivers/zip.c (returns legitimate info)
icculus@257
   317
           and archivers/grp.c (returns lastmodtime of GRPfile itself in the
icculus@260
   318
           physical filesystem). Put a 64-bit _llseek() version of the seek()
icculus@260
   319
           and tell() methods in platform/posix.c, but you need to hack (or
icculus@267
   320
           rather, fix) configure.in to enable it. From Greg on win32.c: Fixed
icculus@267
   321
           file enumerator function (needed a wildcard '*' specification), CD
icculus@267
   322
           enumeration only reports CDs that have media, getLastModTime() has
icculus@267
   323
           been implemented.
icculus@253
   324
06012002 - Added -Wall to debug builds. Removed ANSI stdio calls from
icculus@253
   325
           platform/posix.c, and replaced them with actual POSIX calls (that
icculus@253
   326
           is, fopen() became open(), fseek() became lseek(), etc...)
icculus@250
   327
05272002 - Added some explicit casts when calling malloc() in platform/posix.c
icculus@245
   328
05252002 - Added John Hall's file modification time patch, and added a
icculus@245
   329
           getlastmodtime command to test_physfs. Corrected error reporting
icculus@245
   330
           for missing files a little bit. Changed build system to only try
icculus@245
   331
           building beos.cpp if on a BeOS system (since we need a C++ compiler
icculus@248
   332
           available to do so). Implemented getLastModTime in macclassic.c.
icculus@239
   333
05242002 - Upped version to 0.1.6 (not officially released yet).
icculus@238
   334
05232002 - Fixed the build system to always package the complete source, not
icculus@230
   335
           just what we built for a given system, when doing a "make dist".
icculus@236
   336
           Updated INSTALL. Wrote BeOS platform code (platform/beos.cpp).
icculus@236
   337
           Split unix.c into unix.c and posix.c. Linux and BeOS both share
icculus@236
   338
           posix.c, although I don't think it's completely POSIX compliant at
icculus@236
   339
           this point (not that it matters much).
icculus@226
   340
05212002 - Cleaned up some FIXMEs.
icculus@223
   341
05202002 - Added .cvsignore files.
icculus@223
   342
05162002 - Edward Rudd also caught an embarrassing screwup by me in
icculus@496
   343
           unix.c: the open-for-append call was using "wb+" instead of
icculus@496
   344
           "ab" when calling fopen(). Doh!
icculus@496
   345
05152002 - configure script now deals with systems that have a readline
icculus@496
   346
           lib, but require it to be linked with curses. Thanks to Edward
icculus@219
   347
           Rudd for the patch.
icculus@214
   348
05102002 - A trimmed-down zlib 1.1.4 is now included in the source distro, for
icculus@214
   349
           use by win32, MacOS, and Unix systems that don't have it installed
icculus@214
   350
           on the system. Autoconf support! Initial attempt at this. Lots of
icculus@214
   351
           stuff may be very broken.
icculus@212
   352
05082002 - From Greg: More win32 work. Library is now 95% functional on win32.
icculus@212
   353
           Only known win32 problem is that the CD drives are reported whether
icculus@212
   354
           they contain a disc or not).
icculus@212
   355
05062002 - From Greg: Win32 boxes without the latest Platform SDK can now
icculus@212
   356
           #define DISABLE_NT_SUPPORT. Other fixes.
icculus@209
   357
04242002 - Updated win32 info in INSTALL to discuss Platform SDK issues.
icculus@207
   358
04202002 - Added a (very) quick and (very) dirty http server to the
icculus@207
   359
           extras directory (public domain), as another example of using
icculus@207
   360
           the library.
icculus@496
   361
04192002 - Corrected some win32 info in INSTALL. Changed Makefile to
icculus@205
   362
           package releases as .tar.gz instead of .tar.bz2.
icculus@496
   363
04122002 - Some win32 cleanups and fixes across several files. Upped
icculus@202
   364
           version to 0.1.5.
icculus@192
   365
04082002 - Fixed problem when calling __PHYSFS_setError before PHYSFS_init.
icculus@496
   366
04062002 - Added MacOS info, etc to INSTALL. Patched unix.c and
icculus@192
   367
           test_physfs.c to compile on Darwin again.
icculus@179
   368
04052002 - Added byte ordering API. Byte ordering fixes in grp.c, and some
icculus@184
   369
           cleanups in unzip.c. Mac work is more or less complete.
icculus@174
   370
04042002 - Mac work continues. Almost complete, now. test_physfs now has
icculus@174
   371
           tests for write, append, and filelength, and most of the
icculus@174
   372
           commands can tolerate a quoted argument (although this is
icculus@174
   373
           hacky, it's good enough for these purposes). Upped test_physfs
icculus@174
   374
           version to 0.1.1. Added a malloc-failure check in the Unix
icculus@174
   375
           CD-ROM detection code.
icculus@168
   376
04032002 - PHYSFS_init always makes sure the calling thread initializes its
icculus@186
   377
           error state. Win32 codebase is updated with mutex implementation
icculus@186
   378
           (thanks, Greg!).
icculus@154
   379
04022002 - Mac work continues. Found a bug where we put a double dir
icculus@154
   380
           separator in if we had to resort to the fallback userdir (if
icculus@154
   381
           __PHYSFS_platformGetUserDir() returned NULL to calculateUserDir().
icculus@154
   382
           Made note of potential infinite recursion in platform driver docs.
icculus@151
   383
04012002 - (_NOT_ an April Fool's Joke:) Started working on MacOS Classic
icculus@151
   384
           port. Added skeleton.c to platform directory. Minor patches to
icculus@151
   385
           get things compiling on Mac (notably, DirInfo conflicts with
icculus@151
   386
           a type exposed by MacOS's namespace-polluting API, and some
icculus@151
   387
           typecasting issues). Found a call to ferror() I had missed in
icculus@151
   388
           unzip.c.
icculus@496
   389
03302002 - Mutexes! PhysicsFS should be thread safe now, so long as you
icculus@146
   390
           don't try to do something like close a file at the same time as
icculus@146
   391
           you are reading from it in another thread. All reasonable race
icculus@146
   392
           conditions should now be gone, but the new code will need some
icculus@146
   393
           eyeballing before we install it on life support systems or anything.
icculus@146
   394
           The mutex abstraction is implemented in unix.c, win32.c will be
icculus@146
   395
           updated shortly.
icculus@142
   396
03292002 - Fixed a potential problem in ZIP_realpath() and some byte order
icculus@142
   397
           issues in zip.c. Converted unzip.c to use physfs file i/o
icculus@142
   398
           abstractions. Converted CHANGELOG to list latest entries first.
icculus@142
   399
03242002 - Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). Win32
icculus@142
   400
           improvements by Gregory S. Read. Added PHYSFS_[us]int(8|16|32)
icculus@142
   401
           types...this breaks binary compatibility with previous PhysicsFS
icculus@142
   402
           releases! Added platform specific i/o functions, so we don't have
icculus@142
   403
           to rely on stdio anymore. Updated TODO with my comments on the
icculus@142
   404
           physfs mailing list. 1.0, here we come! Removed race condition from
icculus@142
   405
           grp.c and converted to file i/o abstraction layer calls from stdio.
icculus@496
   406
           Tons of other fixes and enhancements.
icculus@142
   407
03202002 - Patched platform/win32.c to compile.
icculus@142
   408
03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir
icculus@142
   409
           better. Patched makefile to link the test program. Changed all the
icculus@142
   410
           "write" functions to get data from a "const" buffer. Added an
icculus@142
   411
           "extras" dir, which currently contains PhysFS->SDL_RWops glue code.
icculus@142
   412
03052002 - Made unix.c's timeslice implementation more portable, and added a
icculus@142
   413
           Darwin-specific means to detect CDs (thanks to Patrick Stein).
icculus@142
   414
           Minor cleanup in win32.c (changed "for (; condition ;)" into
icculus@142
   415
           "while (condition)" ...)
icculus@142
   416
11142001 - Removed a redundant error check in platform/win32.c
icculus@142
   417
10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in
icculus@142
   418
           the test program. Apparently I had accidentally removed a rather
icculus@142
   419
           crucial line from dir.c a few revisions ago, and no one noticed. :(
icculus@142
   420
           Fixed. The win32 userdir will default to the base dir, now.
icculus@142
   421
09252001 - Changed API: PHYSFS_setSaneConfig() takes an organization name, and
icculus@496
   422
           sets up less directories. Be warned. Fixes from David Hedbor:
icculus@496
   423
           make setSaneConfig() set write directory correctly if it had to
icculus@142
   424
           create the directory, and make sure that the writing functions
icculus@142
   425
           get used in dir.c when a file is opened for writing/appending.
icculus@142
   426
           Updated CREDITS.
icculus@142
   427
09142001 - David Hedbor submitted a patch to handle a case where the
icculus@142
   428
           current working directory has been deleted out from under the
icculus@142
   429
           process (both in platform/unix.c and physfs.c itself). Thanks,
icculus@142
   430
           David! Added a CREDITS file. Changed the format of the author field
icculus@142
   431
           in PHYSFS_ArchiveInfo to put the email address between "<>" instead
icculus@142
   432
           of "()" chars. Updated TODO. make install now deletes previous
icculus@142
   433
           revisions of the library. Changed version to 0.1.4.
icculus@90
   434
09012001 - Happy September. Moved the Visual C project files and the zlib
icculus@90
   435
           source to a separate download. Look for it at
icculus@90
   436
           http://icculus.org/physfs/downloads/physfs-win32-support.zip ...
icculus@90
   437
           Updated the INSTALL doc for Win32 building. Rewrote win32.c's
icculus@90
   438
           __PHYSFS_platformRealPath() to not rely on Visual C's runtime lib,
icculus@90
   439
           which was the last Cygwin incompatibility (although the Makefile
icculus@90
   440
           needs to be updated to build a DLL under Cygwin). Tinkered with the
icculus@94
   441
           Makefile a little, but it needs more work. Started working on a
icculus@94
   442
           MacOS version. All I have is CodeWarrior 4, which is way out of
icculus@94
   443
           date, and (for what is supposed to be an ultra-user-friendly
icculus@94
   444
           environment) is completely uninituitive to me. Still, managed to
icculus@94
   445
           get most everything compiling, which improved the quality of the
icculus@94
   446
           code somewhat). Haven't tried to compile the zipfile support, and
icculus@94
   447
           I still can't link the library. Dunno what the hell I'm supposed
icculus@94
   448
           to do there. Isn't Unix supposed to be hard compared to this?
icculus@142
   449
08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean,
icculus@142
   450
           but there's at least one byte-ordering issue in zip.c that needs
icculus@142
   451
           to be fixed.
icculus@142
   452
08292001 - win32.c calculates the base dir with GetModuleFileName() first, now,
icculus@142
   453
           and falls back to SearchPath() if there were problems. Changed an
icculus@142
   454
           occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can
icculus@142
   455
           handle it.
icculus@142
   456
08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating
icculus@142
   457
           the userdir. Added include files that make it a little closer to
icculus@142
   458
           compiling under Cygwin. Added a TODO file. Fixed unix.c's
icculus@142
   459
           __PHYSFS_platformCalcBaseDir() so that it actually works. Fixed
icculus@142
   460
           Makefile so that it links the test program properly.
icculus@142
   461
           Changed version to 0.1.3.
icculus@142
   462
08232001 - Fixed a potential free()ing of a NULL pointer in
icculus@142
   463
           __PHYSFS_platformEnumerateFiles() in platform/unix.c. Added
icculus@142
   464
           platform/win32.c. Other cleanups to get this compiling with
icculus@142
   465
           Visual C and CygWin. Added BAIL_MACRO for times when we were doing
icculus@142
   466
           BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers.
icculus@142
   467
           Added GRP setting output to showcfg in the Makefile. Updated INSTALL
icculus@142
   468
           with license info and Win32 build instructions. Dependency on the
icculus@142
   469
           readline library in test_physfs.c is now optional.
icculus@142
   470
           Changed version to 0.1.2.
icculus@142
   471
08072001 - Changed version to 0.1.1.
icculus@142
   472
08062001 - Added CD-ROM detection code to the unix platform driver.
icculus@142
   473
08012001 - Added a safety memset in error setting, fixed URLs and email addr.
icculus@142
   474
07282001 - Initial release.
icculus@59
   475
icculus@59
   476
--ryan. (icculus@clutteredmind.org)
icculus@59
   477
icculus@59
   478
/* end of CHANGELOG ... */
icculus@59
   479