Commit Graph

95 Commits

Author SHA1 Message Date
Ryan C. Gordon 60aa0e460c Make sure the prefdir has a final dirsep on it.
This matches the behaviour of PHYSFS_getBaseDir() and PHYSFS_getUserDir().
2012-03-21 23:59:43 -04:00
Ryan C. Gordon 43367c0c29 Fixed some brainfarts in the Windows version of PHYSFS_getPrefDir(). 2012-03-21 23:52:44 -04:00
Ryan C. Gordon 3a5a780988 PHYSFS_setSaneConfig() now uses PHYSFS_getPrefDir(). 2012-03-21 23:31:21 -04:00
Ryan C. Gordon 24d6a925d1 Added PHYSFS_getPrefDir(). 2012-03-21 23:30:50 -04:00
Ryan C. Gordon ba676b23e5 Reworked the error reporting API. Now we use error codes instead of strings.
This is based on work originally done by Christoph Nelles.
2012-03-20 15:38:12 -04:00
Ryan C. Gordon 8d7cf56651 Fixed mutex misuse. 2012-03-20 15:28:19 -04:00
Ryan C. Gordon be4ae4d401 Removed __PHYSFS_platformCvtToDependent().
It's only used by archive_dir.c, and it's trivial to make it into
 platform-independent code for that one module.

Bonus: less malloc() pressure...now every access to the native filesystem
 doesn't require a temporary heap allocation.
2012-03-15 01:58:39 -04:00
Ryan C. Gordon 03dbc3f758 Make __PHYSFS_platformDirSeparator into a single char.
This multichar thing was always stupid. Pull it out of revision control if
 you ever need it.
2012-03-15 01:54:57 -04:00
Ryan C. Gordon aaf8868c8d Removed __PHYSFS_convertToDependent(), as dead code. 2012-03-15 00:40:00 -04:00
Ryan C. Gordon 624d7f3a42 Fixed PHYSFS_read() and PHYSFS_write() in the dev branch.
PHYSFS_read() and PHYSFS_write() should return number of objects written,
 not object size.

Thanks to Evgeny Podjachev for the fix!
2012-03-14 05:47:15 -04:00
Ryan C. Gordon 611aeec61b Removed __PHYSFS_platformRealPath().
It was an ugly piece of code, didn't work on The Hurd (apparently), likely
 dangerous in its incomplete understanding of Windows paths, and only
 used in places that should have given us normalized, absolute
 paths in the first place anyhow.
2012-03-11 04:19:36 -04:00
Ryan C. Gordon df3c281014 Fixed some compiler warnings. 2012-03-10 03:18:33 -05:00
Ryan C. Gordon 9dceda3d9f Align smallAllocs to the native pointer size. 2012-03-09 22:27:51 -05:00
Ryan C. Gordon a0b21c9ae9 Cleaned up all the readAll() cut and paste. 2012-03-09 04:50:27 -05:00
Ryan C. Gordon 9d11b991bc Fixed up some bugs that clang's static analysis reported. 2011-10-18 15:55:29 -04:00
Ryan C. Gordon f5e0dbe78b Patched to compile on Windows. 2011-01-21 02:50:20 -05:00
Ryan C. Gordon 4d567a0d2f Fixed cut-and-paste error in malloc() failure test (thanks, Tolga!). 2010-10-04 01:48:34 -04:00
Ryan C. Gordon f871802f51 Cleaned up some #includes. 2010-09-06 19:35:01 -04:00
Ryan C. Gordon 7f0e7105a7 Removed isDirectory, isSymLink and exists methods from internal code.
Use the PhysFS stat() interface instead.
2010-09-05 02:41:13 -04:00
Ryan C. Gordon 84c6e2242e Added PHYSFS_mountHandle(). Now you can do archives-in-archives! 2010-08-30 03:02:32 -04:00
Ryan C. Gordon d9e98704f7 PHYSFS_getRealDir() can't report a path for things that aren't real files. 2010-08-29 21:36:38 -04:00
Ryan C. Gordon 5ff1a2a12e Make PHYSFS_addToSearchPath() use doMount(), too. 2010-08-30 02:39:28 -04:00
Ryan C. Gordon bb9f5e5049 Added PHYSFS_mountMemory(). 2010-08-30 02:39:11 -04:00
Ryan C. Gordon 8cd320b858 Added PHYSFS_mountIo(). 2010-08-29 20:56:35 -04:00
Ryan C. Gordon 4bc5ed1725 Abstracted file i/o into PHYSFS_Io interface.
This touched a lot of code, and involved cleaning up a lot of stuff.
2010-08-30 03:01:57 -04:00
Ryan C. Gordon fc680aa468 Removed PHYSFS_Archiver's isArchive() method.
It was redundant with openArchive().
2010-08-24 10:05:58 -04:00
Ryan C. Gordon c92f3035f9 Made __PHYSFS_ui64FitsAddressSpace's behaviour match its name. 2010-08-24 10:03:25 -04:00
Ryan C. Gordon c1969d0595 Added PHYSFS_unmount(), deprecated addToSearchPath and removeFromSearchPath. 2010-08-22 03:43:22 -04:00
Ryan C. Gordon f7a8d9292c Fixed PHYSFS_stat()'s return value to match rest of PhysicsFS API. 2010-08-21 19:10:42 -04:00
Ryan C. Gordon b69dfedaf0 Deprecated PHYSFS_getLastModTime()...use PHYSFS_stat() instead, now. 2010-08-21 17:34:00 -04:00
Ryan C. Gordon 8b0988a038 Some minor FIXME tweaks. 2010-08-21 15:07:13 -04:00
Ryan C. Gordon 4000b234c0 Moved all the file i/o from stdio-style to POSIX-style.
Instead of trying to deal with a count of objects, just give 'em a stream of
bytes. This is WAY simpler to work with at the implementation level, and
removes confusion about what to do with a partial read.

This will be very useful when we expose the i/o interface to applications.
2010-08-21 02:47:58 -04:00
Ryan C. Gordon f329f4ed0b Added a FIXME. 2010-08-20 01:25:20 -04:00
Ryan C. Gordon 72b232d4f5 If $HOME is invalid, scratch together a different userdir.
Partially fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553174
2010-03-21 12:11:39 -04:00
Ryan C. Gordon cd3587bbf3 Make ISO9660 archiver optional. 2010-03-17 15:35:29 -04:00
Ryan C. Gordon 0fa35af2b9 ISO9660 archiver, compliments of Christoph Nelles. 2010-03-17 14:50:54 -04:00
Ryan C. Gordon f1cd4d8f0d THIS is Christoph's PHYSFS_stat() work.
I've merged some basic ideas from the other patch, which was Indy Sam's work,
 and cleaned up a few things.
2010-02-15 14:02:36 -05:00
Ryan C. Gordon 8e78e4719d Backed out changeset f87b0b7cca8e ... This wasn't Christoph's patch. Sorry! 2010-02-15 09:19:38 -05:00
Ryan C. Gordon 7cc80bebc5 Added first work on PHYSFS_stat() API (thanks, Christoph!). 2010-02-14 23:07:19 -05:00
Ryan C. Gordon 595ac1da39 Cleaned up returns that look like function calls for my updated coding style. 2010-01-28 02:27:45 -05:00
Ryan C. Gordon cef8847a06 Attempt to clean up the thread ID mess in platform_unix ... 2009-09-06 01:05:27 -04:00
Ryan C. Gordon 07e97a0166 Fixed some Sun Studio warnings about unreachable code. 2009-04-13 03:40:30 -04:00
Ryan C. Gordon fb5e8d9cd2 PHYSFS_freeList(NULL) is now a safe no-op. 2009-03-28 17:50:54 -04:00
Ryan C. Gordon d6ce63e912 Added PHYSFS_getAllocator(). 2009-03-28 16:15:03 -04:00
Ryan C. Gordon 2a65060cde Moved directory structure around. 2009-03-27 15:10:42 -04:00