From: Lars Gustäbel Date: Sat, 21 Apr 2007 12:20:09 +0000 (+0000) Subject: Bug #1704156: Support for unicode strings as input filenames is X-Git-Tag: v2.5.2c1~344 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ff1f6a69e967951fb4de3049fbb847aacc901c8;p=python Bug #1704156: Support for unicode strings as input filenames is neither documented nor intended but works in Python 2.4 under certain conditions. This stopped working in 2.5 because struct.pack is used. This small patch restores the old behaviour. A more solid solution is planned for 2.6. --- diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 474e306e4c..8afea475d8 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -963,7 +963,7 @@ class TarInfo(object): stn(prefix, 155) ] - buf += struct.pack("%ds" % BLOCKSIZE, "".join(parts)) + buf += "".join(parts).ljust(BLOCKSIZE, NUL) chksum = calc_chksums(buf[-BLOCKSIZE:])[0] buf = buf[:-364] + "%06o\0" % chksum + buf[-357:] self.buf = buf