Bsdtar and archive torture tests
emaste at phaedrus.sandvine.ca
Tue Sep 27 11:00:24 PDT 2005
On Mon, Sep 26, 2005 at 08:16:50PM -0400, Ed Maste wrote:
> Hmm, good point. I haven't set it to anything; locale(1) shows
> that the LC_ variables are set to "C". So then I can see how this
> happens, but it's still surprising (to me) behaviour.
Ok, now I've definately encountered some non-obvious behaviour.
A symlink target of 100 bytes or less keeps the same name, while
a target of more than 100 bytes gets munged from the converstion
to UTF-8 and back.
For example, the symlink created by the following script doesn't
change the link target:
fname=$(printf $(jot -b \\303\\240 -s '' 50))
ln -fs $fname test
tar -cf - test | tar -tvf -
but if the 50 in the jot command is changed to 51, the target
changes. So I guess that the link target doesn't fit in the
standard header anymore, and needs an extended tag. Having
different behaviour for the two cases does seem odd.
Ed Maste, Sandvine Incorporated
More information about the freebsd-current