Commit Graph

55 Commits

Author SHA1 Message Date
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
Andy McFadden
b5c3d4e358 Don't "cheat" and use Nu_strcasecmp(), since it's not part of the formal
export list.
2002-12-06 00:49:22 +00:00
Andy McFadden
321392dbba Fixed weird typo ("failed" -> faileded").
Added annotation to messages from global error handler.
2002-12-05 22:19:22 +00:00
Andy McFadden
8fe2f00cb7 Release 1.1.0. 2002-10-21 01:56:05 +00:00
Andy McFadden
64828a4fc6 Changed a printf() to a DBUG(). 2002-10-19 01:09:58 +00:00
Andy McFadden
8b14fdaef8 If FunnelWrite was called with >16K of data at a point when it had none
buffered, the progress updater (which was only called from FunnelFlush)
would never get called.  It turns out "deflate" expansion hits this case
every time.
2002-10-11 21:57:38 +00:00
Andy McFadden
8fefff8cfa Update copyright notices and legalese. 2002-10-11 20:15:50 +00:00
Andy McFadden
1c13da384c Fix for Win32 build. 2002-10-11 01:19:25 +00:00
Andy McFadden
bd3eef768e Minor tweaks, primarily to get the Win32 build working. 2002-10-10 23:45:56 +00:00
Andy McFadden
6e51e34904 Allow deletion of all records. We mark the archive as brand-new in
this case, so that closing the archive after doing so results in the
file being removed.
2002-10-10 18:36:30 +00:00
Andy McFadden
91248976d7 Fixed up the usage info for "launder". 2002-10-10 16:01:14 +00:00
Andy McFadden
5f1eabc896 Various minor tweaks. Renamed the "HuffmanSQ" feature test to just "SQ". 2002-10-10 00:50:37 +00:00
Andy McFadden
a57143a439 Added "-m" flag so you can specify compression method. Made the usage
output more useful.
2002-10-10 00:49:52 +00:00
Andy McFadden
ec6021afa8 Fixed a bug in CRC handling when using LZW/1. 2002-10-10 00:46:58 +00:00
Andy McFadden
0b7151b6f5 Fixed error message text. 2002-10-10 00:46:16 +00:00
Andy McFadden
e08ee80f12 Show the right error message when open/fdopen fails to open a temp
file because it already exists.
2002-10-10 00:46:03 +00:00
Andy McFadden
d41016e6c1 Added support for compressing data with libbz2. Disabled by default.
Generalized compression method enable/disable.  Now any method can be
removed.  Applications can call NuTestFeature() to figure out what is
supported by the copy of NufxLib they're linked against.
2002-10-09 23:12:06 +00:00
Andy McFadden
550ff22758 Added Binary II support. For NufxLib this is really just a new error
code that gets returned when we identify an archive as BNY.
2002-10-09 00:16:27 +00:00
Andy McFadden
afe82def33 Changed FakeZeroExtract from a "mimic SHK" feature to a generally
supported bug workaround.
2002-10-08 23:57:41 +00:00
Andy McFadden
87c6550f15 Minor tweaks, mostly to comments. 2002-10-08 23:56:38 +00:00
Andy McFadden
656b2b0a33 Looks like the LZW patent doesn't expire until June 2003. Updated the
comment to reflect this.
2002-10-06 00:25:53 +00:00
Andy McFadden
cb401c7280 Added optional support for zlib deflate compression. The auto-config
checks for the presence of both "-lz" and "zlib.h".

Made various minor tweaks.
2002-10-01 01:05:42 +00:00
Andy McFadden
df3b8cc850 Reduced complaints when opening a non-NuFX archive file. 2002-10-01 00:50:07 +00:00
Andy McFadden
146a508606 New file with LZC (UNIX compress) code. 2002-09-28 01:06:22 +00:00
Andy McFadden
70b4604e31 Looks like "vim" is having some fun with me. 2002-09-28 01:02:03 +00:00
Andy McFadden
771144bcea Fixed "assert" vs "Assert", some naming convention lapses, and a
possible gotcha in the Squeeze code.
2002-09-28 00:57:36 +00:00
Andy McFadden
18a61d2d31 Added support for 12-bit and 16-bit LZC (UNIX "compress") compression format. 2002-09-28 00:56:08 +00:00
Andy McFadden
105c85fcd6 Removed C++-style comments, and fixed up some other comments. 2002-09-27 18:50:04 +00:00
Andy McFadden
da51322d48 Added support for SQueeze compression format (both compress and expand).
Twiddled some comments in random places.
2002-09-26 22:11:12 +00:00
Andy McFadden
9d12532e6c GS/ShrinkIt appears to update some of the archive header fields while it
is in the process of compressing the data.  By writing to an AppleTalk
network and copying the archive while it was being written, I wound up
with an archive that appeared complete but was actually truncated.  We
now try to detect that case, and the compression code will spit back an
error instead of an assertion failure.
2002-09-23 23:56:50 +00:00
Andy McFadden
6dbf0dced9 Fixed minor bugs when trying to open a file that doesn't actually contain
an archive.  Spotted by valgrind.
2002-09-23 20:32:26 +00:00
Andy McFadden
9d524310f2 Reformatted files to use spaces instead of hard tabs. No substantitve changes. 2002-09-21 01:13:21 +00:00