From f6e31d0f79834f1e4a8b94db314b5878ba64fa4c Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 8 Feb 2001 17:12:40 +0000 Subject: [PATCH] Make more tolerant by accepting nil as input for replacing characters in range. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9053 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 +++++ Source/GSString.m | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) 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)