diff options
author | Ronald Oussoren <ronaldoussoren@mac.com> | 2014-02-06 11:19:18 +0100 |
---|---|---|
committer | Ronald Oussoren <ronaldoussoren@mac.com> | 2014-02-06 11:19:18 +0100 |
commit | 5d66311c5c15b2da29e14712b41fc046e34d9c6f (patch) | |
tree | ab06b5cc870bcf0673782e40d2207775590b357f /Mac | |
parent | 62d88436c498c6a78aaff87058c109c47035d397 (diff) | |
download | cpython-5d66311c5c15b2da29e14712b41fc046e34d9c6f.tar.gz |
Issue #14455: fix handling of unsigned long long values for binary plist files
Values in the range of an unsigned long long, but outside of the range
of a signed long long were serialized as a negative value.
Due to a bug in PyObjC my test scripts indicated that the previous behavior
matched Apple's plist code, instead the handle large unsigned values correctly.
The change to plistlib.py is from a patch by Serhiy.
Diffstat (limited to 'Mac')
-rwxr-xr-x | Mac/Tools/plistlib_generate_testdata.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Mac/Tools/plistlib_generate_testdata.py b/Mac/Tools/plistlib_generate_testdata.py index 68d4d740a9..057b61765b 100755 --- a/Mac/Tools/plistlib_generate_testdata.py +++ b/Mac/Tools/plistlib_generate_testdata.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -from Cocoa import NSMutableDictionary, NSMutableArray, NSString, NSDate +from Cocoa import NSMutableDictionary, NSMutableArray, NSString, NSDate, NSNumber from Cocoa import NSPropertyListSerialization, NSPropertyListOpenStepFormat from Cocoa import NSPropertyListXMLFormat_v1_0, NSPropertyListBinaryFormat_v1_0 from Cocoa import CFUUIDCreateFromString, NSNull, NSUUID, CFPropertyListCreateData @@ -30,6 +30,7 @@ def main(): seconds = datetime.datetime(2004, 10, 26, 10, 33, 33, tzinfo=datetime.timezone(datetime.timedelta(0))).timestamp() pl[nsstr('aBigInt')] = 2 ** 63 - 44 + pl[nsstr('aBigInt2')] = NSNumber.numberWithUnsignedLongLong_(2 ** 63 + 44) pl[nsstr('aDate')] = NSDate.dateWithTimeIntervalSince1970_(seconds) pl[nsstr('aDict')] = d = OrderedDict() |