Commit Graph

57 Commits

Author SHA1 Message Date
Ryan C. Gordon 075e6769e2 Split out Mac OS X code from unix.c and added some Carbon-specific code...
moved some stuff around and implemented a few things in BeOS and POSIX bits
 to accomodate this.
2007-03-21 05:03:17 +00:00
Ryan C. Gordon 03fe5bb823 Replaced manual management of recursive pthread mutexes with
PTHREAD_MUTEX_RECURSIVE.
2007-03-21 04:31:13 +00:00
Ryan C. Gordon 857d9bc84d Since all the platform layers were using the same cut-and-paste of the
malloc/realloc/free allocator, I moved it into physfs.c as a default, which
 is used if the platform layer doesn't offer a platform-specific default
 allocator, which none do at this point, but will soon.
2007-03-20 18:33:56 +00:00
Ryan C. Gordon bb1d757244 Removed __PHYSFS_platformTimeslice()...we don't actually use this anymore. 2007-03-20 17:57:45 +00:00
Ryan C. Gordon b68495e760 Try to use /proc/self/exe to determine the base dir. This lets systems with a
Linux-like /proc filesystem work with PHYSFS_init(NULL). Other cleanups in
 Unix basedir calculation.
2007-03-19 20:15:09 +00:00
Ryan C. Gordon 5908057d71 Minor comment removal. 2007-03-14 06:30:52 +00:00
Ryan C. Gordon a600edf8ab Patched to compile on Mac OS X. 2007-03-14 06:30:20 +00:00
Ryan C. Gordon 69598e49ab 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.
2007-03-11 22:50:53 +00:00
Ryan C. Gordon 53bbe35ddd Renamed LICENSE to LICENSE.txt 2007-03-11 10:10:28 +00:00
Ryan C. Gordon ca2489418e Removed config.h references from old autotools build system. 2007-03-11 09:44:21 +00:00
Ryan C. Gordon f6790ee34e Renamed win32.c to windows.c (since it would be used for Win64, too.) 2007-03-08 22:22:24 +00:00
Ryan C. Gordon c28540fe89 Made unix mutexes recursive. 2005-09-20 04:01:36 +00:00
Ryan C. Gordon d840403c1c All memory management now goes through allocation hooks instead of directly to
C runtime malloc/realloc/free...
2005-03-14 11:49:30 +00:00
Ryan C. Gordon 389a4d826a Cleaned up some minor bloat with my new evil GOTO_*_MACRO macros. 2005-03-13 03:33:11 +00:00
Ryan C. Gordon 9f9800928d Fixed unix.c to compile again on MacOS X. 2005-03-13 03:18:18 +00:00
Ryan C. Gordon c2765f8571 Added callback APIs and ripped up the internals everywhere to use them. 2004-09-29 06:09:29 +00:00
Ryan C. Gordon 01b8809162 Rewrote MacOSX/Darwin CD detection to use IOKit, for accurate results. 2003-05-24 03:36:36 +00:00
Ryan C. Gordon 8701e4d98d Added hack for OSX bundles, from Eric Wing. 2003-01-04 23:24:50 +00:00
Ryan C. Gordon c79285af0e Minor fix for odd PATH entries. 2002-11-30 04:50:49 +00:00
Ryan C. Gordon 9852dec8eb Attempt to fix pthread-to-ui64 cast issue. 2002-08-09 19:47:06 +00:00
Ryan C. Gordon 0c05876240 Whoops; the pthread-disabling condition was flipped. Fixed. 2002-07-25 23:22:29 +00:00
Ryan C. Gordon 2b0cecee7c First step towards getting __PHYSFS_platformGetThreadID() to work universally. 2002-07-25 17:42:21 +00:00
Ryan C. Gordon cdac19f131 Stub code for platforms without functional pthreads. 2002-07-25 17:13:03 +00:00
Ryan C. Gordon 1ce70462bd Can now disable CD-ROM code on Unix systems at build time if need be. The
configure option is not exposed, but the configure script can check this
 on a system by system basis.
2002-07-25 05:21:00 +00:00
Ryan C. Gordon 248b3381bf Generalized CD-ROM routine selection. 2002-07-20 00:19:53 +00:00
Ryan C. Gordon c02838ad5e FreeBSD patches; appears to be fully functional now. 2002-07-17 23:25:18 +00:00
Ryan C. Gordon 0b0c57d1be Removed extra #endif 2002-07-11 08:44:27 +00:00
Ryan C. Gordon 99a03b9452 Build system corrections for BeOS and Cygwin. 2002-07-10 21:14:33 +00:00
Ryan C. Gordon 3df9dda733 Fixed buffer overflow in CD-ROM detection code. 2002-06-29 22:25:57 +00:00
Ryan C. Gordon 3b0f1c896f Patched to compile on Cygwin. 2002-06-29 10:23:17 +00:00
Ryan C. Gordon a1b30e8103 Fixed incorrect free() in Darwin CD detection code. 2002-06-08 20:59:29 +00:00
Ryan C. Gordon 2ea62ae1fb Split some of the unix.c code out to posix.c for BeOS to use. 2002-05-24 09:23:23 +00:00
Ryan C. Gordon 769b2a5464 FIXME removal. 2002-05-21 11:29:00 +00:00
Ryan C. Gordon a2c89d7ad2 Fixed OpenAppend to actually open for append. Used "wb+" instead of "ab". 2002-05-16 07:08:59 +00:00
Ryan C. Gordon a2bec46a6b Initial autoconf support. 2002-05-10 09:25:25 +00:00
Ryan C. Gordon cd7021ba43 Darwin patches. 2002-04-06 23:49:17 +00:00
Ryan C. Gordon 566b6229c9 Darwin fixes. 2002-04-06 21:05:14 +00:00
Ryan C. Gordon 42a386c247 Added some malloc() failure checks in CD-ROM detection code. 2002-04-05 08:45:08 +00:00
Ryan C. Gordon 39406cbacc First shot at thread-safety. 2002-03-30 16:44:09 +00:00
Ryan C. Gordon f6b15061c8 Abstracted file deletion, so we don't rely on C library for it anymore. 2002-03-25 05:02:12 +00:00
Ryan C. Gordon dfe65649df Quick fix. 2002-03-25 04:02:27 +00:00
Ryan C. Gordon f2887cf047 Added typedefs and platform-specific i/o. 2002-03-24 19:47:33 +00:00
Ryan C. Gordon 419d5cd017 Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). 2002-03-24 06:36:48 +00:00
Ryan C. Gordon cb2a15d302 Darwin support by Patrick Stein. 2002-03-05 19:16:38 +00:00
Ryan C. Gordon 734b665b8d Changed timeslice implementation to use something more portable (thanks to
Patrick Stein and his Darwin work for this one).
2002-03-05 01:35:54 +00:00
Ryan C. Gordon c3a00ee94b Patches from David Hedbor to handle missing current working directories.
"The attached patch makes PhysFS handle the case when the current
   directory (as returned by getcwd()) has been deleted.
   Fix 1, platform/unix.c:
    Only retry getcwd if the error is ERANGE. Before it retried till the
    malloc failed in the case of the directory not existing.
  Fix 2: physfs.c:
    If __PHYSFS_platformCurrentDir() return's NULL, use the root as the
    base dir. Bad solution but the best I can think of (alternative :
    use /tmp or Windows TEMP dir?)."
2001-09-14 22:59:53 +00:00
Ryan C. Gordon 00267d4023 Fixed base directory determination. 2001-08-29 03:31:43 +00:00
Ryan C. Gordon 3deb942440 Whoops. Forgot to declare a variable. 2001-08-23 15:39:07 +00:00
Ryan C. Gordon f0c09894c8 Updates, corrections and enhancements to get this ported to win32. 2001-08-23 15:23:21 +00:00
Ryan C. Gordon e6bebfa32c Fixed a potential free()ing of a NULL pointer in
__PHYSFS_platformEnumerateFiles.
2001-08-23 15:06:15 +00:00