home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
disks
/
disk445.lzh
/
Tar
/
doc
/
TODO
< prev
next >
Wrap
Text File
|
1991-01-24
|
3KB
|
56 lines
@(#) TODO 1.15 87/11/06
Test owner/group on extraction better.
creation of links, symlinks, nodes doesn't follow the -k (f_keep) guidelines;
if the file already exists, it is not replaced, even though no -k.
Check stderr and stdout for errors after writing, and quit if so.
Preliminary design of Multifile option to handle EOFs on input and
output. Multifile can just close the archive when it hits end of
archive, and ask for archive to be changed. It has no choice on some
media, e.g. floppies and cartridge tapes, where there is no room for an
EOF block there. Start off 2nd archive medium with odd header block,
duplicating original, but with offset to start of data spec'd. Reading
such a header causes tar non-'M' to complain while extracting (but to
seek there and do it anyway!) Big win -- this works on cartridge
tapes, should work on floppies, might work on magtape. It would
encourage the *&%#$ systems programmers to fix their drivers, too!
Profile it and see where the time, call counts, etc are going.
Fix directory timestamps after inserting files into them. Wait til next
file that's not in the directory. Need a stack of them.
Option to seek the input file (in skip_file) rather than reading
and tossing it? (Could just jump in buffer if stuff is in core.)
Could misalign archive reads versus filesys and slow it down, who knows?
Add -C option for creating from odd directories a la 4.2BSD?
Break out odd bits of code into separate support modules.
Add the r, u, X, l, F, C, and digit options of Unix tar.
V8 tar does something that is quite handy when reading tapes written on
4.2 system into non-4.2 systems: it reduces file name components to
14 bytes or less and ensures that they are unique (I think it truncates
to 10 bytes and appends "..aa" where aa are two unique letters) and puts
out a file containing the mapping between long names on tape and short
names on disk.
Clean up 'd' (diff) option. Currently it works for regular files
and symlinks, needs work for dirs and links. Ideally, output should
look like "diff -r" or -rl after an extract of the tape and a real diff.
Right now it's very messy. To do the above, we'd need to read the
directories that we touch and check all the file names against what's
on the tape. All we do now is check the file contents and stats.
Check "int" variables to see if they really need to be long (file sizes,
record counts, etc). Sizes of in-core buffers should be int; since
malloc() takes an int argument we can never allocate one any bigger.
Maybe unsigned int would be better, though. Little system people,
help me out here! (E.g. run lint on it on your system and send me
the result if it shows anything fixable.)