tree 723d3428fb43cb75d8ac394201c2b3e1a06923c4
parent b9913954054b87f64f0a8010a2d67f0ffd7f5b86
author Eric Andersen <andersen@codepoet.org> 961131400 -0000
committer Eric Andersen <andersen@codepoet.org> 961131400 -0000

Update to ar.c from Glenn McGrath.  His comments follow:

------------------------------

the attached diff applies to the ar.c i originally submitted

Changes

Preserve dates now works.
Extracted files are set to the uid, gid and mode specified in the
archive.
Checks for valid end of header marker.
Correctly unpacks newer debian files. (has a '\n' character between
entries)
Added more comments.
Cleaned up code.
Added a last modified date to help keep track of versions.


TODO

Common functionality in ar.c are in tar.c should be merged, in
particular getOctal and extractSubFile.

Should all functions that are used by multiple file go in utilities.c ?
