From 87701845041f7b9a1e06ee8ee88f5b9d0629a9cb Mon Sep 17 00:00:00 2001 From: richard Date: Fri, 18 Dec 1998 17:25:15 +0000 Subject: [PATCH] Cope nicely with nil property-lists git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3494 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 1 + Source/NSCoder.m | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index f4d58e37b..449df6db5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,7 @@ Fri Dec 18 18:15:00 1998 Richard Frith-Macdonald NSGString.m: ditto NSString.m: ditto NSConcreteNumber.m: Added ([-replacementObjectForPortCoder:]) + NSCoder.m: Cope nicely with encode/decode of nil property-list. Thu Dec 17 16:12:18 1998 Matthias Klose diff --git a/Source/NSCoder.m b/Source/NSCoder.m index 170434e01..8f4ec7d5e 100644 --- a/Source/NSCoder.m +++ b/Source/NSCoder.m @@ -117,8 +117,8 @@ - (void) encodePropertyList: (id)plist { - id anObject = [NSSerializer serializePropertyList: plist]; - [self encodeValueOfObjCType:@encode(id) at: &anObject]; + id anObject = plist ? [NSSerializer serializePropertyList: plist] : nil; + [self encodeValueOfObjCType: @encode(id) at: &anObject]; } - (void) encodePoint: (NSPoint)point @@ -200,10 +200,15 @@ { id o; id d; - [self decodeValueOfObjCType:@encode(id) at:&d]; - o = [NSDeserializer deserializePropertyListFromData: d - mutableContainers: NO]; - [d release]; + [self decodeValueOfObjCType: @encode(id) at: &d]; + if (d) + { + o = [NSDeserializer deserializePropertyListFromData: d + mutableContainers: NO]; + [d release]; + } + else + o = nil; return o; }