Ryan C. Gordon
db2201e4e1
Added some FIXMEs and deprecated PHYSFS_getLastError().
2017-08-12 02:21:11 -04:00
Ryan C. Gordon
ee9687bca9
Reworked enumeration to be more powerful.
...
Now callbacks can stop further enumeration and report errors, if they had a
catastrophic issue or just found what they needed and don't need to process
any more items.
Also, the actual enumerators can report errors instead of silently dropping
items. This led to several other fixes as all these implementations got
audited and reworked.
The original, non-callback enumerator now returns NULL if it can't produce a
complete list instead of dropping items and returning a partial list.
2017-08-12 02:19:22 -04:00
Ryan C. Gordon
b082bc3432
Removed __PHYSFS_stricmpASCII functions.
...
Nothing was using them, except one OS/2 thing that could live with stricmp.
2017-08-11 01:45:29 -04:00
Ryan C. Gordon
78c1a985ec
Made physfs_lzmasdk.h's include-once blockers match other files' formatting.
2017-08-11 01:29:38 -04:00
Ryan C. Gordon
15048fbb1d
ignorecase.c: use PHYSFS_utf8stricmp() now.
2017-08-11 01:39:58 -04:00
Ryan C. Gordon
d1f2637ca8
utf8: big improvements to case-insensitive UTF-8 string compare.
...
- Dramatically reduce RAM usage: uses between 8 and 11 kilobytes less static
memory for its internal case-folding tables.
- Actually works now. It would fail unconditionally if a codepoint folded
into multiple codepoints, even if the compared string contained those exact
codepoints.
- Now a public API!
- Removed __PHYSFS_utf8strnicmp(): nothing was using it, it was incorrect
anyhow, and what does 'n' represent when either string might case-fold to
something larger in-flight, anyhow?
2017-08-11 01:39:22 -04:00
Ryan C. Gordon
587ec88a0d
FIXME removal: this code is fine, I guess.
2017-08-10 12:31:41 -04:00
Ryan C. Gordon
1efdb62a8f
haiku: CD-ROM detection should report any mounted volume on a B_CD device.
...
Most discs only use the "raw" device, but it turns out the Haiku installation
"anyboot" images don't, and those would fail to detect here. If there's
some multi-partition disc thing and the OS mounted each separately, we should
report each of them.
2017-08-10 12:31:06 -04:00
Ryan C. Gordon
0e778b0b16
FIXME removal: it's okay for the PHYSFS_Io to be NULL here.
...
We use this technique in several other places, too.
2017-08-08 15:27:32 -04:00
Ryan C. Gordon
961c0604dc
apple: Patched to compile on XCode versions < 7.
2017-08-08 11:57:44 -04:00
Ryan C. Gordon
c52be25d1e
windows: minor cleanup.
2017-08-08 03:37:09 -04:00
Ryan C. Gordon
982411ec8a
apple: Start using some Cocoa APIs, clean up a few related things.
2017-08-08 03:36:56 -04:00
Ryan C. Gordon
0a730433ae
Rename physfs_platform_macos.c to physfs_platform_apple.m
...
It's not really "macOS," it's all of Apple's platforms (iOS, watchOS,
tvOS...AppleCarOS? heh), and second...we're about to need access to Cocoa
APIs, so we need it to be Objective-C. I fought as long as I could. :/
2017-08-08 02:34:25 -04:00
Ryan C. Gordon
ca4d5be5f8
cmake: Pacify warning about Policy CMP0042 not being set.
2017-08-08 02:27:47 -04:00
Ryan C. Gordon
eb46d82500
Fixed compiler warnings on GCC.
2017-08-06 15:59:46 -04:00
Ryan C. Gordon
af555317b9
Fixed compiler warnings on Visual Studio.
2017-08-06 15:58:39 -04:00
Ryan C. Gordon
f0eb5c0db9
Marked a bunch of things as "FIXME-3.0" that I want resolved before 3.0 ships.
2017-08-06 15:54:44 -04:00
Ryan C. Gordon
0287160f3c
Removed some FIXMEs that aren't valid.
2017-08-06 13:56:45 -04:00
Ryan C. Gordon
1d6c519c5e
windows: Patched to compile! (...?)
2017-08-06 12:27:18 -04:00
Ryan C. Gordon
2176364a16
windows: (maybe) patched to compile on Visual Studio.
2017-08-06 12:19:33 -04:00
Ryan C. Gordon
36c51d40d1
PHYSFS_File buffering now uses size_t.
...
This lets you have the full address space but not take up unnecessary space
on 32-bit platforms...not to mention removes a bunch of typecasting.
2017-08-06 10:33:21 -04:00
Ryan C. Gordon
114bfd1b21
windows: PHYSFS_FILETYPE_OTHER files now report real filesize in PHYSFS_stat().
...
I don't know if it's _meaningful_, but if the OS reports it, so do we.
2017-08-06 09:25:05 -04:00
Ryan C. Gordon
a7ce178eec
Add basic atomic operations for refcounting, etc.
2017-08-06 09:21:38 -04:00
Ryan C. Gordon
121ee38fde
physfshttpd: deal with write errors on the socket.
2017-08-06 01:34:18 -04:00
Ryan C. Gordon
61bdee4d78
__PHYSFS_platformDeinit() should return void.
...
What are you going to do if this fails, anyhow?
2017-08-06 01:30:58 -04:00
Ryan C. Gordon
248167af40
windows: Removed (what I think is) a copy/paste error.
2017-08-05 01:26:07 -04:00
Ryan C. Gordon
be9bf023d0
windows: Use a real synchronization primitive for CD detection thread init.
...
Before we were waiting on a volatile int in a tight loop with a Sleep(50).
2017-08-05 01:24:53 -04:00
Ryan C. Gordon
befc894b1f
More FIXME cleanups.
2017-08-04 22:35:49 -04:00
Ryan C. Gordon
b6e139fc22
Make compile-time asserts more readable.
2017-08-04 22:32:57 -04:00
Ryan C. Gordon
0d249cae36
FIXME removal: This is an appropriate error code already.
2017-08-04 22:32:34 -04:00
Ryan C. Gordon
cc2c29b207
Removed FIXME: this was already fixed at some point.
2017-08-04 22:31:56 -04:00
Ryan C. Gordon
093dcb555b
os/2: Patched to compile (?).
2017-08-02 16:40:07 -04:00
Ryan C. Gordon
3f9ffddc83
os/2: attempt to get cpuid support on OpenWatcom builds.
2017-08-02 16:34:02 -04:00
Ryan C. Gordon
1e850d32ea
windows: Patched to compile.
2017-08-02 13:06:56 -04:00
Ryan C. Gordon
007c2fc037
windows: Just pass HANDLEs around instead of wrapping in a struct.
...
We don't need the "readonly" field of this struct, because it was only used
to protect flushes on non-writable handles, but PHYSFS_flush() also keeps
track of what's read-only and won't call into the platform layer anyhow.
HANDLEs are typedef'd to be "void *" on Windows, so this is safe (so long as
we check for INVALID_HANDLE_VALUE, which is ((void*)-1), when creating new
handles.
2017-08-02 13:02:43 -04:00
Ryan C. Gordon
bea510def0
windows: Fixed logic bug.
2017-08-02 12:48:40 -04:00
Ryan C. Gordon
02c2c4736e
windows: better test for WinRT vs win32 (...I think...?)
2017-08-02 12:48:31 -04:00
Ryan C. Gordon
5ab8df339d
Updated Unicode case folding support to something 10 years newer. :)
2017-07-31 16:32:47 -04:00
Ryan C. Gordon
32930ef41d
Fixed compiler warning.
2017-07-26 16:08:32 -04:00
Ryan C. Gordon
99992bb1d5
WinRT: Disable harmless (in our case) linker warning.
2017-07-26 09:03:04 -04:00
Ryan C. Gordon
0e7f3ee6a1
Added an assert for a FIXME that is now handled elsewhere.
2017-07-25 19:55:58 -04:00
Ryan C. Gordon
f578f85557
Fixed building for WinRT via CMake.
2017-07-25 19:55:08 -04:00
Ryan C. Gordon
1e2650b6fc
Serious cleanup and update of Windows RT support.
...
This compiles for WinRT, but isn't otherwise tested at all yet.
2017-07-24 03:29:33 -04:00
Ryan C. Gordon
c74f4cb007
Minor cleanup.
2017-07-24 02:37:22 -04:00
Ryan C. Gordon
a5461ddcd9
Some minor preprocessor nitpicks.
2017-07-24 02:36:58 -04:00
Ryan C. Gordon
8c13bd27d6
unix: getmntinfo() should proabably be set to MNT_NOWAIT to avoid blocking.
2017-07-22 20:05:17 -04:00
Ryan C. Gordon
bc28fb74b4
Minor QNX fix; don't warn about CD-ROM support (for now).
2017-07-22 20:04:38 -04:00
Ryan C. Gordon
e2750bff62
Apple refers to "Mac OS X" as "macOS" now.
2017-07-22 13:50:40 -04:00
Ryan C. Gordon
6d91dde273
Rename __PHYSFS_Archiver_SZIP to __PHYSFS_Archiver_7Z.
2017-07-22 13:50:03 -04:00
Ryan C. Gordon
1fa4be6f66
Minor documentation updates.
2017-07-22 13:48:31 -04:00