NetBSD/bin/pax
christos d980bf3418 Keep track of the length of the gnu long name/link hack, so that
we can append to it. Modify the code so that file_write is re-entrant,
even in the gnu long name/link hack.

The old code assumed that the buffer already contained the necessary
blocks to satisfy the read file request that contained the long
filename. This is not always the case, specially when we are dealing
with pipes which do shorter reads, thus having more probability
that a long file name will fall across a buffer boundary.

To reproduce, create a tar archive with a lot of gnu-long-names
(pkgsrc/devel/libsigc++2 is a good example), do a tar -tf to get
a list of filenames, compress it and do a tar -tzf to get another
list of the filenames. Notice that the two lists differ.
2004-09-22 15:03:18 +00:00
..
ar_io.c indent fix for the previous (ar_io.c rev.1.43) 2004-08-02 10:20:48 +00:00
ar_subs.c Propery handle "cpio" archives where the last hardlink includes the 2004-08-22 16:46:18 +00:00
buf_subs.c fd can be -1 or -2 for the gnu long name/link hack. So check for >= 0 2004-09-22 14:51:12 +00:00
cpio.1 Change copyright to 2-clause BSD-copyright. 2004-09-15 19:45:17 +00:00
cpio.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00
cpio.h Move Keith Muller's code from a 4-clause to a 3-clause licence by removing 2003-10-13 07:41:22 +00:00
dumptar.c A small standalone program to dump ustar headers, used for debugging. 2004-06-16 14:28:21 +00:00
extern.h Keep track of the length of the gnu long name/link hack, so that 2004-09-22 15:03:18 +00:00
file_subs.c Keep track of the length of the gnu long name/link hack, so that 2004-09-22 15:03:18 +00:00
ftree.c remove stray debugging left from last commit. 2004-07-02 16:26:53 +00:00
ftree.h Move Keith Muller's code from a 4-clause to a 3-clause licence by removing 2003-10-13 07:41:22 +00:00
gen_subs.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00
getoldopt.c Completely rework how tools/compat is done. Purge all uses/references to 2004-06-20 22:20:14 +00:00
Makefile Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
options.c update the comment that documents the fields initialized in the array below. 2004-09-22 14:52:00 +00:00
options.h Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
pat_rep.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00
pat_rep.h Move Keith Muller's code from a 4-clause to a 3-clause licence by removing 2003-10-13 07:41:22 +00:00
pax.1 add -0 argument to handle nul separated file lists. 2004-06-19 02:27:00 +00:00
pax.c Completely rework how tools/compat is done. Purge all uses/references to 2004-06-20 22:20:14 +00:00
pax.h Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
sel_subs.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00
sel_subs.h Move Keith Muller's code from a 4-clause to a 3-clause licence by removing 2003-10-13 07:41:22 +00:00
tables.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00
tables.h Move Keith Muller's code from a 4-clause to a 3-clause licence by removing 2003-10-13 07:41:22 +00:00
tar.1 Change copyright to 2-clause BSD-copyright. 2004-09-15 19:45:17 +00:00
tar.c Keep track of the length of the gnu long name/link hack, so that 2004-09-22 15:03:18 +00:00
tar.h Welcome to WARNS=3 2004-05-11 17:12:26 +00:00
tty_subs.c Overhaul how `build.sh tools' are used: 2003-10-27 00:12:41 +00:00