From 5f12fdebd848034a35a05931f28dba24b5779822 Mon Sep 17 00:00:00 2001 From: Richard Frith-MacDonald Date: Wed, 2 Jul 2008 13:41:52 +0000 Subject: [PATCH] implement new MacOS-X method. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26742 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ Source/NSIndexSet.m | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 301661399..5c9fda290 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-07-02 Richard Frith-Macdonald + + * Source/NSIndexSet.m: Implement ([-countOfIndexesInRange:]) + 2008-06-30 Richard Frith-Macdonald * Source/GSFFIInvocation.m: diff --git a/Source/NSIndexSet.m b/Source/NSIndexSet.m index 277cc5b74..8794adbdc 100644 --- a/Source/NSIndexSet.m +++ b/Source/NSIndexSet.m @@ -234,7 +234,26 @@ static unsigned posForIndex(GSIArray array, unsigned index) - (NSUInteger) countOfIndexesInRange: (NSRange)range { - return 0; + if (_array == 0 || GSIArrayCount(_array) == 0) + { + return 0; + } + else + { + unsigned count = GSIArrayCount(_array); + unsigned total = 0; + unsigned i = 0; + + while (i < count) + { + NSRange r = GSIArrayItemAtIndex(_array, i).ext; + + r = NSIntersectionRange(r, range); + total += r.length; + i++; + } + return total; + } } - (void) dealloc