summaryrefslogtreecommitdiffstats
path: root/pym/portage/versions.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-07 14:47:39 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-07 14:47:39 +0000
commit42c29e4246af51f221c7030c443771be6ca45d2f (patch)
tree80f180e882529d8942587dbbddf1a7c5b2f0eed8 /pym/portage/versions.py
parent407c6e13d75246e9bf9646eac0f911cc1c3c0a5c (diff)
downloadportage-42c29e4246af51f221c7030c443771be6ca45d2f.tar.gz
portage-42c29e4246af51f221c7030c443771be6ca45d2f.tar.bz2
portage-42c29e4246af51f221c7030c443771be6ca45d2f.zip
Make pkgsplit and catpkgsplit return imutable tuples instead of mutable lists so that cached values can be safely returned without cloning them first. Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=6749
Diffstat (limited to 'pym/portage/versions.py')
-rw-r--r--pym/portage/versions.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pym/portage/versions.py b/pym/portage/versions.py
index 95d7340a3..ebf8cbada 100644
--- a/pym/portage/versions.py
+++ b/pym/portage/versions.py
@@ -200,7 +200,7 @@ def pkgsplit(mypkg,silent=1):
try:
if not pkgcache[mypkg]:
return None
- return pkgcache[mypkg][:]
+ return pkgcache[mypkg]
except KeyError:
pass
myparts=mypkg.split("-")
@@ -243,9 +243,9 @@ def pkgsplit(mypkg,silent=1):
pkgcache[mypkg]=None
return None
#names can't have versiony looking parts
- myval=["-".join(myparts[:verPos]),myparts[verPos],revision]
+ myval=("-".join(myparts[:verPos]),myparts[verPos],revision)
pkgcache[mypkg]=myval
- return myval[:]
+ return myval
else:
pkgcache[mypkg]=None
return None
@@ -273,7 +273,7 @@ def catpkgsplit(mydata,silent=1):
try:
if not catcache[mydata]:
return None
- return catcache[mydata][:]
+ return catcache[mydata]
except KeyError:
pass
mysplit=mydata.split("/")
@@ -288,8 +288,9 @@ def catpkgsplit(mydata,silent=1):
catcache[mydata]=None
return None
retval.extend(p_split)
+ retval = tuple(retval)
catcache[mydata]=retval
- return retval[:]
+ return retval
def catsplit(mydep):
return mydep.split("/", 1)