Fix for case when adding a range entirely withn an existing range

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24053 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2006-11-08 18:16:11 +00:00
parent 4b5ef4865d
commit 3f236aaba9
2 changed files with 15 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2006-11-08 Richard Frith-Macdonald <rfm@gnu.org>
Source/NSIndexSet.m: ([addIndexesInRange:])
Fix for case when added range lies within existing range.
2006-11-08 Richard Frith-Macdonald <rfm@gnu.org>
* Source/Additions/GSXML.m: ([stringByEscapingXML]) Fix bug causing

View file

@ -673,9 +673,16 @@ static unsigned posForIndex(GSIArray array, unsigned index)
{
break;
}
r.length += (NSMaxRange(aRange) - NSMaxRange(r));
GSIArrayRemoveItemAtIndex(_array, pos--);
GSIArraySetItemAtIndex(_array, (GSIArrayItem)r, pos);
if (NSMaxRange(r) >= NSMaxRange(aRange))
{
GSIArrayRemoveItemAtIndex(_array, pos--);
}
else
{
r.length += (NSMaxRange(aRange) - NSMaxRange(r));
GSIArrayRemoveItemAtIndex(_array, pos--);
GSIArraySetItemAtIndex(_array, (GSIArrayItem)r, pos);
}
}
/*