Differences From Artifact [75d72d0a96]:
- File
src/OFArray.m
— part of check-in
[6b77a5dd8b]
at
2017-05-21 21:28:57
on branch trunk
— Prefix private methods with of_ instead of OF_
This matches Apple's style. (user: js, size: 17992) [annotate] [blame] [check-ins using]
To Artifact [15022d3186]:
- File src/OFArray.m — part of check-in [c8f7b90082] at 2017-07-22 20:50:27 on branch trunk — Split OFDataArray into OFData and OFMutableData (user: js, size: 18000) [annotate] [blame] [check-ins using]
| ︙ | ︙ | |||
22 23 24 25 26 27 28 | #include <assert.h> #import "OFArray.h" #import "OFArray_subarray.h" #import "OFArray_adjacent.h" #import "OFString.h" #import "OFXMLElement.h" | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#include <assert.h>
#import "OFArray.h"
#import "OFArray_subarray.h"
#import "OFArray_adjacent.h"
#import "OFString.h"
#import "OFXMLElement.h"
#import "OFData.h"
#import "OFNull.h"
#import "OFEnumerationMutationException.h"
#import "OFInvalidArgumentException.h"
#import "OFOutOfRangeException.h"
static struct {
|
| ︙ | ︙ | |||
652 653 654 655 656 657 658 | [JSON makeImmutable]; objc_autoreleasePoolPop(pool); return JSON; } | | | | | 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 |
[JSON makeImmutable];
objc_autoreleasePoolPop(pool);
return JSON;
}
- (OFData *)messagePackRepresentation
{
OFMutableData *data;
size_t i, count;
void *pool;
data = [OFMutableData data];
count = [self count];
if (count <= 15) {
uint8_t tmp = 0x90 | ((uint8_t)count & 0xF);
[data addItem: &tmp];
} else if (count <= UINT16_MAX) {
uint8_t type = 0xDC;
|
| ︙ | ︙ | |||
686 687 688 689 690 691 692 |
@throw [OFOutOfRangeException exception];
pool = objc_autoreleasePoolPush();
i = 0;
for (id object in self) {
void *pool2 = objc_autoreleasePoolPush();
| | > > | 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 |
@throw [OFOutOfRangeException exception];
pool = objc_autoreleasePoolPush();
i = 0;
for (id object in self) {
void *pool2 = objc_autoreleasePoolPush();
OFData *child;
i++;
child = [object messagePackRepresentation];
[data addItems: [child items]
count: [child count]];
objc_autoreleasePoolPop(pool2);
}
assert(i == count);
[data makeImmutable];
objc_autoreleasePoolPop(pool);
return data;
}
- (void)makeObjectsPerformSelector: (SEL)selector
|
| ︙ | ︙ |