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: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8ff1f6a69e967951fb4de3049fbb847aacc901c8;p=thirdparty%2FPython%2Fcpython.git 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 474e306e4c07..8afea475d8be 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