344
345
346
347
348
349
350
351
352
353
354
355
356
357
|
} @catch (OFOutOfMemoryException *e) {
/* We don't really care, as we only made it smaller */
}
}
- (void)removeLastItem
{
count--;
@try {
data = [self resizeMemory: data
toNItems: count
ofSize: itemSize];
} @catch (OFOutOfMemoryException *e) {
/* We don't care, as we only made it smaller */
|
>
>
>
|
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
} @catch (OFOutOfMemoryException *e) {
/* We don't really care, as we only made it smaller */
}
}
- (void)removeLastItem
{
if (count < 1)
@throw [OFOutOfRangeException exceptionWithClass: isa];
count--;
@try {
data = [self resizeMemory: data
toNItems: count
ofSize: itemSize];
} @catch (OFOutOfMemoryException *e) {
/* We don't care, as we only made it smaller */
|
573
574
575
576
577
578
579
580
|
newSize = (count * itemSize + lastPageByte) & ~lastPageByte;
if (size != newSize)
data = [self resizeMemory: data
toSize: newSize];
size = newSize;
}
@end
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
|
newSize = (count * itemSize + lastPageByte) & ~lastPageByte;
if (size != newSize)
data = [self resizeMemory: data
toSize: newSize];
size = newSize;
}
- (void)removeLastItem
{
size_t newSize, lastPageByte;
if (count < 1)
@throw [OFOutOfRangeException exceptionWithClass: isa];
count--;
lastPageByte = of_pagesize - 1;
newSize = (count * itemSize + lastPageByte) & ~lastPageByte;
if (size != newSize) {
@try {
data = [self resizeMemory: data
toNItems: count
ofSize: newSize];
} @catch (OFOutOfMemoryException *e) {
/* We don't care, as we only made it smaller */
}
size = newSize;
}
}
@end
|