home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#)unpit.c 1.2 (CWI) 87/11/05
- */
-
- /*
-
- unpit - Macintosh PackIt file unpacker
-
- Version 2, for PackIt II
-
- This program will unpack a Macintosh PackIt file into separate files. The
- data fork of a PackIt file contains both the data and resource forks of the
- packed files. The program will unpack each Mac file into separate .data,
- .rsrc., and .info files that can be downloaded to a Mac using macput.
-
- The program syntax is much like macput/macget:
-
- unpit [-rdu] packit-file.data
-
- The -r and -d flags will cause only the resource and data forks to be
- written. The -u flag will cause only the data fork to be written and
- to have carriage return characters changed to Unix newline characters.
-
- Some of the program is borrowed from the macput.c/macget.c programs.
-
- Author: Allan G. Weber, (Weber%Brand@USC-ECL)
- Date: September 30, 1985
- Revised: January 24, 1986 - added CRC checking
- March 25, 1986 - support compressed mode of PackIt II,
- check for illegal Unix file names
-
- */
-
- /* There is some confusion as to what to do with the "inited" flag in the
- finder info bytes that are in the header of each file in the packit file.
- If this flag bit is copied to the .info file, it seems to confuse
- MacTerminal into placing the file icons in the upper left corner of the
- window on top of each other. Setting this bit to zero in the .info file
- seems to fix that problem but may cause others. I haven't been able to
- find any .info files that have this flag set so making it zero may be OK.
- Anyway, MacTerminal seems to set the flag when it create the file on the
- Mac. The "#define INITED_BUG" can be used to try both settings. */
-
- /*
- Format of a Packit file:
-
- Repeat the following sequence for each file in the Packit file:
-
- 4 byte identifier ("PMag" = not compressed, "Pma4" = compressed)
- variable length compression data (if compressed file)
- 92 byte header (see struct pit_header below) *
- 2 bytes CRC number *
- data fork (length from header) *
- resource fork (length from header) *
- 2 bytes CRC number *
-
- Last file is followed by the 4 byte Ascii string, "Pend", and then the EOF.
-
- * these are in compressed form if compression is on for the file
-
- */
-
-