From a015fca3fab094cb090604491a1ddfe9ae9564cf Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 29 Sep 2017 18:15:14 -0700 Subject: [PATCH] utarfile: Update for str.rstrip() fixes. rstrip() without args no longer strips "\0", we need to do that explicitly. --- utarfile/utarfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utarfile/utarfile.py b/utarfile/utarfile.py index 65ce0bdc..460ca2cd 100644 --- a/utarfile/utarfile.py +++ b/utarfile/utarfile.py @@ -3,7 +3,7 @@ import uctypes # http://www.gnu.org/software/tar/manual/html_node/Standard.html TAR_HEADER = { "name": (uctypes.ARRAY | 0, uctypes.UINT8 | 100), - "size": (uctypes.ARRAY | 124, uctypes.UINT8 | 12), + "size": (uctypes.ARRAY | 124, uctypes.UINT8 | 11), } DIRTYPE = "dir" @@ -75,8 +75,8 @@ class TarFile: return None d = TarInfo() - d.name = str(h.name, "utf-8").rstrip() - d.size = int(bytes(h.size).rstrip(), 8) + d.name = str(h.name, "utf-8").rstrip("\0") + d.size = int(bytes(h.size), 8) d.type = [REGTYPE, DIRTYPE][d.name[-1] == "/"] self.subf = d.subf = FileSection(self.f, d.size, roundup(d.size, 512)) return d