more GC fixed

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27788 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2009-02-04 21:26:43 +00:00
parent 3de3ef7de9
commit e7b584b46b
3 changed files with 117 additions and 12 deletions

View file

@ -721,8 +721,14 @@ static unsigned posForIndex(GSIArray array, unsigned index)
}
else
{
#if GS_WITH_GC
_data = (GSIArray)NSAllocateCollectable(sizeof(GSIArray_t),
NSScannedOption);
GSIArrayInitWithZoneAndCapacity(_array, 0, 1);
#else
_data = (GSIArray)NSZoneMalloc([self zone], sizeof(GSIArray_t));
GSIArrayInitWithZoneAndCapacity(_array, [self zone], 1);
#endif
GSIArrayAddItem(_array, (GSIArrayItem)aRange);
}
}
@ -743,8 +749,14 @@ static unsigned posForIndex(GSIArray array, unsigned index)
{
unsigned i;
#if GS_WITH_GC
_data = (GSIArray)NSAllocateCollectable(sizeof(GSIArray_t),
NSScannedOption);
GSIArrayInitWithZoneAndCapacity(_array, 0, 1);
#else
_data = (GSIArray)NSZoneMalloc([self zone], sizeof(GSIArray_t));
GSIArrayInitWithZoneAndCapacity(_array, [self zone], count);
#endif
for (i = 0; i < count; i++)
{
GSIArrayAddItem(_array, GSIArrayItemAtIndex(_other, i));
@ -888,8 +900,14 @@ static unsigned posForIndex(GSIArray array, unsigned index)
}
if (_array == 0)
{
#if GS_WITH_GC
_data = (GSIArray)NSAllocateCollectable(sizeof(GSIArray_t),
NSScannedOption);
GSIArrayInitWithZoneAndCapacity(_array, 0, 1);
#else
_data = (GSIArray)NSZoneMalloc([self zone], sizeof(GSIArray_t));
GSIArrayInitWithZoneAndCapacity(_array, [self zone], 1);
#endif
}
pos = posForIndex(_array, aRange.location);