home *** CD-ROM | disk | FTP | other *** search
- @(#) 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.)
-