Ryan C. Gordon
235e31c420
Fixed mishandling of an allocation failure in PHYSFS_openRead().
...
(Static analysis caught this one! Thanks clang!)
2020-05-12 15:19:01 -04:00
Ryan C. Gordon
56aaae4949
Corrected example code for PHYSFS_enumerate in physfs.h
2019-08-24 21:06:54 -04:00
Ryan C. Gordon
19ea59109d
Fixed comment typo.
2019-06-07 23:46:55 -04:00
Ryan C. Gordon
a8180f0e4c
hog: Added support for HOG2 (Descent 3) archives.
2019-06-07 22:27:48 -04:00
Ryan C. Gordon
f94ce0613d
Fixed compiler warning.
2019-03-18 14:28:46 -04:00
Ryan C. Gordon
6b0839051f
windows: Workaround for WinXP systems.
...
(transplanted from c8f3bbd689d6b71b84c11db74275ea3d56fef961)
2019-03-18 13:36:16 -04:00
Ryan C. Gordon
5cbb460bcd
Only flush file handles on close if they were opened for writing.
2019-03-18 11:27:26 -04:00
Ryan C. Gordon
e549fe0e0f
Added some whitespace to test a fix to revision control.
2019-02-10 16:00:39 -05:00
Ryan C. Gordon
500033f37d
Allow builds to opt-out or opt-in to specific archivers, whichever's easier.
2019-01-26 03:00:29 -05:00
Ryan C. Gordon
b57d8960e8
Fixed some compiler warnings.
2018-11-28 00:23:08 -05:00
Ryan C. Gordon
5786a58628
PHYSFS_flush() shouldn't call PHYSFS_Io::flush().
...
The former is meant to send PhysicsFS-buffered data to the PHYSFS_Io's
implementation, the latter is meant to tell the OS to definitely make sure the
data is safely written to disk (or at least, that's what it does in practice).
This was making PHYSFS_setBuffer()'d handles _slower_, since they would end
up blocking whenever the buffer was full until the data made the full trip to
physical media, instead of just letting the OS do its own buffering.
Now we still PHYSFS_Io::flush() on PHYSFS_close(), like this has always
worked. That might also be overkill, but that remains a historical artifact
of trying to keep the underlying file handle usable if pending writes fail
for possibly-recoverable reasons (which isn't guaranteed if you just close()
it, at least as far as I remember).
2018-11-27 23:53:33 -05:00
Ryan C. Gordon
73d66441e3
Added PHYSFS_setRoot().
2018-10-17 23:44:02 -04:00
Ryan C. Gordon
7d194a8a62
windows: Workaround GetUserProfileDirectory's API change in Win10 build 1809.
...
(transplanted from ece6769c0676c2d4e8a5893a1acebd0f65456817)
2018-10-03 22:40:57 -04:00
Ryan C. Gordon
8ce294a458
PHYSFS_setWriteDir() shouldn't create an empty file if the dir doesn't exist.
2018-05-16 19:54:51 -04:00
Ryan C. Gordon
15dd00659a
Fix up physfs.h for compilers that are sensitive about preprocessor defines.
...
(transplanted from db8f944df5c56f0244229813203fb5b24e8d9968)
2018-04-19 10:06:38 -04:00
Ryan C. Gordon
7394c07d6b
apple: Patched to compile with older (mac 10.7) SDKs (thanks, Ken and Ryan!).
2018-03-24 00:19:59 -04:00
Ryan C. Gordon
ea90a92016
7zip: don't forget to destroy the PHYSFS_Io when closing the archive!
2018-03-08 11:47:42 -05:00
Ryan C. Gordon
3597a7b69a
Call the default branch "3.1.0" to avoid confusion.
...
This way, if someone builds the default branch instead of stable-3.0, we'll
be able to distinguish.
No immediate plans for a format 3.1 effort at the moment, though.
2018-03-08 11:51:46 -05:00
Ryan C. Gordon
a45afc5d50
Catch access to paths that are just "." or ".." without any path separator.
2017-10-26 14:37:16 -04:00
Ryan C. Gordon
62d24e228f
Fixed mounting a symlink to a real directory.
2017-10-26 14:21:36 -04:00
Ryan C. Gordon
26db9376da
Fixed some infinite loops that a maliciously-crafted .iso can trigger.
...
These bugs exposed by American Fuzzy Lop (AFL), a powerful fuzzer.
http://lcamtuf.coredump.cx/afl/
2017-10-23 14:58:54 -04:00
Ryan C. Gordon
1c7945461d
Don't allow NULL filenames to be mounted.
...
Regardless of what the 3.0.0 documentation says, PhysicsFS never handled this
correctly, so now we check for it so you can't get into crashy situations.
Corrected documentation to reflect reality.
2017-10-23 12:40:59 -04:00
Ryan C. Gordon
f5e5b586c7
Fixed crash when duplicating PHYSFS_Io for zipfiles.
2017-10-23 12:16:51 -04:00
Ryan C. Gordon
9e756312d5
Bumped version to 3.0.0!
2017-09-27 11:54:25 -04:00
Ryan C. Gordon
bb2c38cdea
Added SLB to list of supported archives.
2017-09-27 12:33:36 -04:00
Ryan C. Gordon
9b42fe23fd
Fixed doxygen comment.
2017-09-27 12:07:55 -04:00
Ryan C. Gordon
3d8817346d
Fixed seeking within read buffers.
2017-09-25 16:32:52 -04:00
Ryan C. Gordon
425131ccda
Simplified doBufferedRead().
...
No longer recurses, and deals with EOF correctly.
2017-09-25 16:19:59 -04:00
Ryan C. Gordon
2b78f64c11
Fixed PHYSFS_flush().
2017-09-25 16:19:30 -04:00
Ryan C. Gordon
395b2b02dd
OS/2: Patched to compile.
2017-09-15 19:52:24 -04:00
Ryan C. Gordon
69d3df3286
OS/2: Deal with UTF-8 -> codepage conversion on older OS/2 installs.
...
(untested attempt.)
2017-09-15 19:49:40 -04:00
Ryan C. Gordon
7a26b83733
OS/2: don't report failures on Unicode conversion on older OS/2 installs.
2017-09-14 23:36:51 -04:00
Francesco Bertolaccini
e728c65912
vdf: Don't add directories; UNPK_addEntry()/DirTree will fill in parents.
2017-09-03 13:13:51 -04:00
Ryan C. Gordon
21b2fd39f2
Made PHYSFS_caseFold() a public API.
2017-08-20 02:02:08 -04:00
Ryan C. Gordon
bc2ddf0a53
Added some warnings to the docs about converting bad Unicode strings.
2017-08-20 02:01:50 -04:00
Ryan C. Gordon
9f8ecb91cb
unicode: Added UTF-16 and UCS-4 stricmp functions.
2017-08-20 01:18:41 -04:00
Ryan C. Gordon
eb75883226
OS/2: Fixed NULL pointer dereference.
2017-08-20 01:18:05 -04:00
Ryan C. Gordon
689333dc8f
Clarified some documentation.
2017-08-20 00:35:25 -04:00
Ryan C. Gordon
6ad71878fe
Updated PHYSFS_Archiver with PHYSFS_EnumerateCallbackResult change.
2017-08-19 11:19:28 -04:00
Ryan C. Gordon
4e0d3d55e9
Make PHYSFS_EnumerateCallback return an enum instead of an int.
2017-08-19 10:40:27 -04:00
Ryan C. Gordon
5fb9119ebc
windows: Disable _CRT_SECURE_NO_WARNINGS again.
2017-08-16 21:19:16 -04:00
Ryan C. Gordon
7607eeeb00
Cleaned up some header inclusion politics.
2017-08-16 20:03:24 -04:00
Ryan C. Gordon
e19422cc06
qnx: Added more proper support for QNX.
2017-08-16 20:02:54 -04:00
Ryan C. Gordon
cd0ccf64ed
Bump version to 2.1.1, since we've been at 2.1.0 for 8.5 years. :)
...
There isn't going to be an official 2.1.1 (or 2.1.0) release; we'll let this
marinate a little and jump to 3.0!
2017-08-15 02:08:24 -04:00
Ryan C. Gordon
b311ee44ad
Fixed one more Visual Studio compiler warning.
2017-08-14 21:22:30 -04:00
Ryan C. Gordon
735fd14ea4
Whoops, patched to compile.
2017-08-14 21:17:22 -04:00
Ryan C. Gordon
8dfd3cff8d
Fixed some compiler warnings on Visual Studio.
...
(and maybe made a few new ones...)
2017-08-14 21:15:58 -04:00
Ryan C. Gordon
692d5e8219
Fixed some warnings that Xcode brought up.
2017-08-14 19:58:56 -04:00
Ryan C. Gordon
0d1a73fce4
zip: add some zip_resolve() calls, deal with DirTree-inserted parent dirs.
2017-08-14 16:24:19 -04:00
Ryan C. Gordon
395ea71990
This appears to have been fixed at some point.
2017-08-14 14:06:43 -04:00