Nulib v3.03 (February 1991) - Fixed XENIX problems with includes and libs (Ron Higgins). - Fixed bug in directory expansion (Larry W. Virden). NuLib v3.02 - Silenced screaming about bad dates (Larry W. Virden). - Fixed glitches in nulib.lnk and nulib.mak (Bruce Kahn). NuLib v3.01 - Fixed non-compression bug in ShrinkIt LZW (Scott Blackman). NuLib v3.0 README (September 1990) New items in 3.0: - ShrinkIt LZW compression - UNIX 12-bit and 16-bit compression - New archive listing format (similar to ARC and ZOO) Things work much better if you read the documentation file (now available on the archive site... sorry I didn't put it up sooner). If you want to use UNIX compress to store files, READ THE DOCUMENTATION FIRST. Not only does it tell you how to do it, but it has some warnings about compatibility. Note that v3.0 does *NOT* unpack archives compressed with GS/ShrinkIt. The problem is that NuLib cannot at present decode LZW/II compression. You can read comments and extract files that were added without compression, but that's about it. To compile this on a UNIX-type system, edit the file "nudefs.h". Several systems are predefined; the default is a BSD UNIX system. If you want to run this on something other than BSD, comment out the #define statements (using "/*" and "*/"), and uncomment the appropriate statements. Then, type "make" to execute the Makefile. If all goes well, you will be left with an executable file called "nulib". If all does not go well, double check "nudefs.h". Send some mail to me if you can't get it to work at all. Currently AT&T 3B2 machines seem to be very uncooperative. If somebody gets NuLib to run on one, please let me know. The problem is in the directory manipulation routines (struct dirent, opendir(), readdir(), etc). To make the MS-DOS version, use the nulib.mak and nulib.lnk files with MS C (supplied by Bruce Kahn). To make the APW version, put all the files in one directory, and make a subdirectory called "OBJ". Put the "linked.scr" and "linker.scr" files in OBJ, and then "make.apw". This will compile all the files. When it finishes, change to OBJ and "alink linked.scr" (standard linker) or "alink linker.scr" (ZapLink). The makefile used to do this automatically, but with only 1.25MB of RAM you have to exit APW to purge all the memory used by the compiler, and and then restart APW and run the linker. In both cases, BE SURE to modify "nudefs.h" first. If you don't, the compilation will halt in "numain.c" on a line which reminds you to change "nudefs.h" (I tended to forget about this). Also, make sure all the file types are set to SRC, and the auxtype to CC. These are changed with the commands "filetype" and "change", respectively. Please send bug reports, ideas, or gripes to fadden@cory.berkeley.edu, or to one of the addresses mentioned in the documentation or under the "-hw" option. Known bugs: - Under some systems, using UNIX compress on a file which does not compress will cause the archive's EOF to be larger than it should be. This slack space will be used up if you add more files to the archive (with NuLib anyway; no guarantees about ShrinkIt or GS/ShrinkIt, but there's no reason why they shouldn't work). (just to make things clear: if the file being compressed doesn't get any smaller, the compression halts and the file is simply stored uncompressed. Because of the way compress works, on some systems the space that would have been occupied by more compressed data is left attached to the file. The ShrinkIt compression does not suffer from this problem. If you add more stuff to the file, NuLib will fill the slack space first, NOT just append to the end of the file). Things to come: - LZW/II decompression (for GS/ShrinkIt archives) - Support for UNIX tar archives - CRLF translations while adding files - Better handling of comments Don't hold your breath waiting for these... I can be reached at: fadden@cory.berkeley.edu (primary e-mail account) fadden@hermes.berkeley.edu (secondary e-mail, since primary is buggy) All this stuff, and documentation as well, is available via anonymous FTP at: avalanche.berkeley.edu tornado.berkeley.edu headcrash.berkeley.edu ... in pub/Apple2