Commit Graph

106 Commits

Author SHA1 Message Date
Andy McFadden
ed801422af Add major version number to library names, so now we have nufxlib2.lib
and nufxlib2.dll.  This allows the possibility of having multiple
(incompatible) versions of the DLL installed in a common location, so
that older and newer apps can coexist peacefully.
2003-02-27 21:35:42 +00:00
Andy McFadden
7469f782cb Added kNuErrFileAccessDenied. Return it when OpenRW fails with an
access permission problem, so that an application can follow it with
an OpenRO call for read-only files.
2003-02-27 21:33:29 +00:00
Andy McFadden
36f47b866c Fixed a bug related to "mask dataless" mode where archives weren't getting
reconstructed properly.

Altered "fake" thread initialization to have a *really* invalid file offset
in case somebody tries to use it for math.
2003-02-24 06:31:11 +00:00
Andy McFadden
cb96779bd7 Make test-twirl work under Win32. 2003-02-24 03:48:05 +00:00
Andy McFadden
16234a46d1 Added test-twirl to samples. 2003-02-23 23:46:47 +00:00
Andy McFadden
47e930c7dd Altered ThreadMod output slightly. 2003-02-23 23:38:30 +00:00
Andy McFadden
b486e6e328 Rearranged for comment-correctness. 2003-02-23 23:37:31 +00:00
Andy McFadden
bee5e41cec Removed cruft. 2003-02-23 23:36:22 +00:00
Andy McFadden
53bb12944c Tightened up error handling on some internal-error failures. 2003-02-23 19:14:44 +00:00
Andy McFadden
693ddd6d61 Added "tr" command (NuTestRecord). 2003-02-23 19:13:58 +00:00
Andy McFadden
b5a25968d6 Fixed a rare bug. Put two files in an archive, recompress them (use
exerciser dt/at after sev 2 10), flush, then delete the first one and
flush.  The archive gets trashed, because the record's fileOffset wasn't
getting updated properly.
2003-02-23 03:26:37 +00:00
Andy McFadden
3c2721d6f8 The thread header CRC computation was broken for LZW/1. 2003-02-23 01:23:02 +00:00
Andy McFadden
104f34629c Fixed a bug in Nu_RecordSet_MoveAllRecords() that left origRecordSet in
an unhappy state after deleting a record.  Added a bunch of asserts to
catch similar problems in the future.
2003-02-23 01:09:20 +00:00
Andy McFadden
e546f96f9a Added NuTestRecord(). 2003-02-23 00:31:32 +00:00
Andy McFadden
a55cfee11f Turn off EOL conversion when extracting disk images. 2003-02-23 00:31:02 +00:00
Andy McFadden
da714d7c9b Switch to case-insensitive filename comparisons. This matters most when
extracting or deleting files by name.
2003-02-18 22:20:30 +00:00
Andy McFadden
fa1222be3d Switch to case-insensitive filename comparisons. This only affects the
comparison between an existing record and a new record being added.
2003-02-18 22:19:17 +00:00
Andy McFadden
fde7b9b18c Resurrected HandleAddNotFound(). Updated callback setters for changed
semantics (return of NuCallback rather than NuError).  Initialize the
new origName field.
2003-02-18 21:50:55 +00:00
Andy McFadden
6389da041b When extracting disk images with "-ee", append ".PO" to filename. 2003-02-18 21:49:25 +00:00
Andy McFadden
8b0b89b5d4 Renamed SetFileDetails to GetFileDetails. 2003-02-18 21:46:52 +00:00
Andy McFadden
56a96dc7eb Added "original pathname" fields to NuFileDetails and NuErrorStatus.
Changed callback setters to return NuCallback instead of NuError.
2003-02-18 21:43:46 +00:00
Andy McFadden
f75f26b69b Updated for new callback setter return type. 2003-02-18 21:41:10 +00:00
Andy McFadden
e9b4107d2f Updated comment. 2003-02-18 21:39:44 +00:00
Andy McFadden
8c43a1e571 Updated version number to 200.
Updated comments about building against the DLL.
2003-02-09 04:25:57 +00:00
Andy McFadden
962fc796a6 Updated DLL build info. 2003-02-09 04:23:59 +00:00
Andy McFadden
f1d3cfb9b2 Added /nodefaultlib flags to quiet a warning. 2003-02-09 04:22:41 +00:00
Andy McFadden
0564c26a22 Make sure the callback functions all have return values. 2003-02-09 03:18:49 +00:00
Andy McFadden
edb28053dd Use __DATE__ if it's available (e.g. under MSVC++). 2003-02-09 03:16:41 +00:00
Andy McFadden
31bc838dcb Added some Asserts. 2003-02-09 03:16:13 +00:00
Andy McFadden
102af95bdd Track changes to DataSource API in NufxLib. 2003-02-09 01:56:05 +00:00
Andy McFadden
18775bbf04 Complain properly when adding of files fails. 2003-02-09 01:55:26 +00:00
Andy McFadden
05ffc32db0 Properly free data structures. 2003-02-09 01:54:46 +00:00
Andy McFadden
1169554de3 Changed the DataSource API to take resource release callback pointers
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).
2003-02-09 01:53:51 +00:00
Andy McFadden
067d6d8e83 Removed remarks about what hoops to jump through when linking against
NufxLib as a DLL.
2003-02-09 01:41:41 +00:00
Andy McFadden
9a255d521e Make valgrind happy. 2003-02-09 01:29:31 +00:00
Andy McFadden
ba99fa7372 Updated copyright notices. 2003-02-08 22:43:24 +00:00
Andy McFadden
0d053dca09 Upped version number to v2.0.0.
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.
2003-02-08 22:35:31 +00:00
Andy McFadden
861eb84b4d Added support for kNuProgressAborted. 2003-02-08 22:30:30 +00:00
Andy McFadden
5ce040cbdc Build "nufxlibD.lib" for debug builds of the DLL, because they link
against a debug version of the MSC library that isn't present on
non-developer systems.  The goal is to make it obvious which one
is in use.
2003-02-08 22:22:49 +00:00
Andy McFadden
dbf47b585f Added "abort" to progress states, so user cancellations can be reported
properly.
2003-02-08 22:19:50 +00:00
Andy McFadden
6f418b9d5c Upped version to v2.0.0. 2003-02-08 22:18:17 +00:00
Andy McFadden
3841a233b2 Added support for kNuValMaskDataless, which hides records with no data
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.
2003-01-10 22:47:24 +00:00
Andy McFadden
5f9ad84311 Added Version.c.in handling. 2003-01-10 22:42:44 +00:00
Andy McFadden
122bb55030 Added a comment so "grep" makes more sense. 2003-01-10 22:42:01 +00:00
Andy McFadden
cd2b892b07 Updated displayed copyright notice. Added compiled-vs-linked version
test.  Added (commented out) enabling of kNuValueMaskDataless.
2003-01-10 22:41:20 +00:00
Andy McFadden
5c0f57cf71 Implemented "percentComplete" field in progress update. 2002-12-28 03:10:09 +00:00
Andy McFadden
b9c91715f2 Added access bit values to comment. 2002-12-27 22:51:47 +00:00
Andy McFadden
c3484de282 GSHK archives empty files without storing any threads. Instead of
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+".
2002-12-19 23:24:56 +00:00
Andy McFadden
42b9706436 Changed F_OK for Windows from 02 to 0. 2002-12-19 23:21:32 +00:00
Andy McFadden
580b04378c Added /D DEBUG_MSGS to DLL debug builds. 2002-12-13 17:47:53 +00:00