172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
}
- (void)removeObjectsInRange: (of_range_t)range
{
id *objects = [array cArray], *copy;
size_t i, count = [array count];
if (range.length > count - range.location)
@throw [OFOutOfRangeException exceptionWithClass: [self class]];
copy = [self allocMemoryWithSize: sizeof(*copy)
count: range.length];
memcpy(copy, objects + range.location, range.length * sizeof(id));
@try {
|
>
|
|
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
}
- (void)removeObjectsInRange: (of_range_t)range
{
id *objects = [array cArray], *copy;
size_t i, count = [array count];
if (range.length > SIZE_MAX - range.location ||
range.length > count - range.location)
@throw [OFOutOfRangeException exceptionWithClass: [self class]];
copy = [self allocMemoryWithSize: sizeof(*copy)
count: range.length];
memcpy(copy, objects + range.location, range.length * sizeof(id));
@try {
|