instead of a "doClose" argument. NufxLib should no longer try to free
anything allocated by the application (or vice-versa).
The DataSource "copy" function now does refcounting instead of copying.
This was done as part of cleaning up some memory leaks in the DataSource
code.
The samples were all updated with the changes to the API (and the
occasional minor valgrind-inspired bug fix).
Fixed filename conversion issues. Specifically:
- Correctly handle '%' when preservation is OFF.
- Accept 4-character extensions in '-ee' without risk of buffer overflow.
- Fixed broken assert when converting long %xx names.
- Store "AUX" as "%00AUX" when preserving names under Win32 (vs. "_AUX").
- Always store files with ':' as path separator.
- Recognize that some Win32 variants (Win2K and later at the least) will
accept both '/' and '\' as pathname separators.
- Correctly convert ".//foo" to "foo" instead of "/foo".
Corrected definition of F_OK under Win32.
threads by giving them an empty data fork (and, if it's an extended
file, an empty resource fork). This allows applications to simply
ignore the bogus records and let NufxLib do the dirty work.
Fixed dataless thread handling for the original (non-masked) case. We
weren't creating empty resource forks when required, so a dataless
record with a forked-file storage type wouldn't be recreated properly
if extracted and then added.
Added version numbers to the public header, so applications can test
for "compiled" version vs "linked" version.
displaying these as having file type "???", display the actual filetype
followed by a hyphen, e.g. "S16-". Compare to forked files, which look
like "S16+".
buffered, the progress updater (which was only called from FunnelFlush)
would never get called. It turns out "deflate" expansion hits this case
every time.