diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-09-21 22:02:09 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-09-21 22:02:09 +0000 |
commit | 0600116354870de267eb0d48ecd01f12b9d58659 (patch) | |
tree | 2178a4c16e14744d2a2d82978b7c1d9d9f84b825 | |
parent | 7770a56f19e51eb9f74cbd4efe472fcf126571e9 (diff) | |
download | portage-0600116354870de267eb0d48ecd01f12b9d58659.tar.gz portage-0600116354870de267eb0d48ecd01f12b9d58659.tar.bz2 portage-0600116354870de267eb0d48ecd01f12b9d58659.zip |
Encode/decode names from the xpak index where appropriate.
svn path=/main/trunk/; revision=14367
-rw-r--r-- | pym/portage/xpak.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pym/portage/xpak.py b/pym/portage/xpak.py index 8838891ca..b753f2490 100644 --- a/pym/portage/xpak.py +++ b/pym/portage/xpak.py @@ -209,6 +209,8 @@ def getindex_mem(myindex): def searchindex(myindex,myitem): """(index,item) -- Finds the offset and length of the file 'item' in the datasegment via the index 'index' provided.""" + myitem = _unicode_encode(myitem, + encoding=_encodings['repo.content'], errors='backslashreplace') mylen=len(myitem) myindexlen=len(myindex) startpos=0 @@ -416,6 +418,8 @@ class tbz2(object): datapos=decodeint(self.index[startpos+4+namelen:startpos+8+namelen]); datalen=decodeint(self.index[startpos+8+namelen:startpos+12+namelen]); myname=self.index[startpos+4:startpos+4+namelen] + myname = _unicode_decode(myname, + encoding=_encodings['repo.content'], errors='replace') dirname=os.path.dirname(myname) if dirname: if not os.path.exists(dirname): |