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