Bsdtar and archive torture tests
Ed Maste
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:
#!/bin/sh
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
mailing list