]> granicus.if.org Git - python/commitdiff
Backport of revision 62854
authorRonald Oussoren <ronaldoussoren@mac.com>
Thu, 8 May 2008 10:35:13 +0000 (10:35 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Thu, 8 May 2008 10:35:13 +0000 (10:35 +0000)
Lib/platform.py

index 2dcf5e1321618fb2e3924e44facaf91b431489fc..f34e73559231ecc37bce1b3287dd06f899e4ece7 100755 (executable)
@@ -591,7 +591,17 @@ def mac_ver(release='',versioninfo=('','',''),machine=''):
         major = (sysv & 0xFF00) >> 8
         minor = (sysv & 0x00F0) >> 4
         patch = (sysv & 0x000F)
-        release = '%s.%i.%i' % (_bcd2str(major),minor,patch)
+
+        if (major, minor) >= (10, 4):
+            # the 'sysv' gestald cannot return patchlevels
+            # higher than 9. Apple introduced 3 new
+            # gestalt codes in 10.4 to deal with this
+            # issue (needed because patch levels can
+            # run higher than 9, such as 10.4.11)
+            major,minor,patch = _mac_ver_lookup(('sys1','sys2','sys3'))
+            release = '%i.%i.%i' %(major, minor, patch)
+        else:
+            release = '%s.%i.%i' % (_bcd2str(major),minor,patch)
     if sysu:
         major =  int((sysu & 0xFF000000L) >> 24)
         minor =  (sysu & 0x00F00000) >> 20