diff --git a/ChangeLog b/ChangeLog index d906e6fc4..5f3543245 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-02-08 Richard Frith-Macdonald + + * Source/GSString.m: permit nil string when replacing characters + in range. Treat as an empty string rather than raising exception. + 2001-02-07 Jonathan Gapen * Source/NSFileManager.m: Make disk space report work on FreeBSD. diff --git a/Source/GSString.m b/Source/GSString.m index eb757d02e..3ae690d0c 100644 --- a/Source/GSString.m +++ b/Source/GSString.m @@ -2581,13 +2581,19 @@ transmute(ivars self, NSString *aString) GS_RANGE_CHECK(aRange, _count); if (aString == nil) - [NSException raise: NSInvalidArgumentException - format: @"replace characters with nil string"]; - if (GSObjCIsInstance(aString) == NO) - [NSException raise: NSInvalidArgumentException - format: @"replace characters with non-string"]; + { + length = 0; + } + else if (GSObjCIsInstance(aString) == NO) + { + [NSException raise: NSInvalidArgumentException + format: @"replace characters with non-string"]; + } + else + { + length = (aString == nil) ? 0 : [aString length]; + } - length = (aString == nil) ? 0 : [aString length]; offset = length - aRange.length; if (offset < 0)