Commit Graph

86 Commits

Author SHA1 Message Date
Andy McFadden
fa2bd0b91b Make MSC happy and warning-free. 2003-03-11 22:09:16 +00:00
Andy McFadden
23e5a88e4d Added support for automatic high-ASCII text stripping. The behavior
is activated by a feature flag (default off), and only kicks in when
EOL conversion is on for the file in question.
2003-03-10 23:05:48 +00:00
Andy McFadden
4c253ada9f Updated remark about zlib.dll. 2003-03-10 23:04:26 +00:00
Andy McFadden
14edb498a9 Remove a wayward tab. 2003-03-10 23:02:48 +00:00
Andy McFadden
ab82bd2b4a Added more detail for a funky error state. 2003-03-10 02:39:33 +00:00
Andy McFadden
2ba8f133b6 Define ZLIB_DLL when we're including ZLIB. If an application is including
nufxlib as a DLL, it probably wants to include zlib as a DLL too, rather
than having it statically embedded in nufxlib.
2003-03-09 03:37:06 +00:00
Andy McFadden
4c24cb0c9f Initialize the "local" error handler to the "global" error handler, so
that errors that arise when opening an archive don't get sent to the
uninitialized local handler.
2003-03-09 03:35:24 +00:00
Andy McFadden
38dafdc774 The "actualThreadEOF" value was getting set incorrectly on newly-added
message threads.  This didn't cause any problems with the archive, but
if you extracted the thread in question without reopening the archive
you ended up getting the whole pre-sized buffer instead of just the part
with data in it.

Load the TOC if needed in Nu_ExtractThread.

When thread extraction fails, don't send an update to the progress
updater if there isn't a progress updater.
2003-03-06 01:37:47 +00:00
Andy McFadden
16460a8d2e Show all failing CRCs.
Added note to README regarding expected failures with "version 1" records.
2003-03-06 01:34:45 +00:00
Andy McFadden
74921ad1c1 Minor tweaks to MSC makefiles. 2003-03-06 01:06:16 +00:00
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
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
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
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
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
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
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
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
Andy McFadden
4c7aee4815 Made a number of changes to allow NufxLib to be used as a Win32 DLL. 2002-12-06 01:04:20 +00:00