pastdue
b8fa8fdcac
physfs_platform_posix.c: Use O_CLOEXEC / FD_CLOEXEC
2021-07-12 11:52:35 -04:00
pastdue
a9cb20772b
physfs_platform_posix.c: Retry on EINTR
2021-07-12 11:52:35 -04:00
Matthew Albrecht
d24ce15922
Include alloca.h on Solaris and Linux platforms.
2021-06-30 08:52:57 -04:00
Ryan C. Gordon
5ea6ba7557
msvc: Move stdarg.h include ahead of __PHYSFS_msvc_vsnprintf declaration.
2021-04-29 15:00:16 -04:00
Ryan C. Gordon
009be5ab20
Enable arm64 for non-Windows targets (thanks, pastdue!).
...
Co-authored-by: Victor Romero <romerosanchezv@gmail.com>
2021-01-18 18:33:00 -05:00
Ryan C. Gordon
55c3d9f9d8
android: PhysicsFS now has actual Android support.
...
This compiled and worked on Android before, if you didn't care about
PHYSFS_getBaseDir() and PHYSFS_getPrefDir() being useful. Now you can pass
PHYSFS_init() some necessary Android objects to solve this. Passing NULL
to PHYSFS_init is acceptable and will simply report "/" for the base dir and
prefdir, under the assumption that the app queried the OS for these directly
instead.
2020-06-12 03:37:58 -04:00
Ryan C. Gordon
22297e7ea2
7z: Make error handling a little more robust.
2020-05-17 01:41:52 -04:00
Ryan C. Gordon
00599b7dac
7z: copy/paste error in error checking, found by static analysis.
...
This was clearly copied from a previous line but wasn't updated with the
correct condition to check, so if malloc() failed, it would dereference NULL
instead of reporting an error.
2020-05-17 01:26:31 -04:00
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