mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
issue 424
This commit is contained in:
parent
58c4bbcaab
commit
b91ff38636
2 changed files with 12 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
2024-07-09 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSString.m: Implement regular expression search in replace
|
||||
methods (github issue 424) by using -rangeOfString:options:range: in
|
||||
place of obsolete optimisation function.
|
||||
|
||||
2024-07-09 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* config/codeset.m4:
|
||||
|
|
|
@ -6726,7 +6726,6 @@ static NSFileManager *fm = nil;
|
|||
{
|
||||
NSRange range;
|
||||
unsigned int count = 0;
|
||||
GSRSFunc func;
|
||||
|
||||
if ([replace isKindOfClass: NSStringClass] == NO)
|
||||
{
|
||||
|
@ -6743,8 +6742,9 @@ static NSFileManager *fm = nil;
|
|||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"%@ bad search range", NSStringFromSelector(_cmd)];
|
||||
}
|
||||
func = GSPrivateRangeOfString(self, replace);
|
||||
range = (*func)(self, replace, opts, searchRange);
|
||||
range = [self rangeOfString: replace
|
||||
options: opts
|
||||
range: searchRange];
|
||||
|
||||
if (range.length > 0)
|
||||
{
|
||||
|
@ -6770,12 +6770,9 @@ static NSFileManager *fm = nil;
|
|||
searchRange.location = range.location + byLen;
|
||||
searchRange.length = newEnd - searchRange.location;
|
||||
}
|
||||
/* We replaced something and now need to scan again.
|
||||
* As we modified the receiver, we must refresh the
|
||||
* method implementation for searching.
|
||||
*/
|
||||
func = GSPrivateRangeOfString(self, replace);
|
||||
range = (*func)(self, replace, opts, searchRange);
|
||||
range = [self rangeOfString: replace
|
||||
options: opts
|
||||
range: searchRange];
|
||||
}
|
||||
while (range.length > 0);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue