45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#import "base64.h"
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_CryptoHashing_reference = 1;
_OFData_MessagePackValue_reference = 1;
}
@implementation OFData
@synthesize itemSize = _itemSize;
+ (instancetype)dataWithItems: (const void *)items
count: (size_t)count
|
|
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#import "base64.h"
/* References for static linking */
void
_references_to_categories_of_OFData(void)
{
_OFData_CryptoHashing_reference = 1;
_OFData_MessagePackParsing_reference = 1;
}
@implementation OFData
@synthesize itemSize = _itemSize;
+ (instancetype)dataWithItems: (const void *)items
count: (size_t)count
|
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
return self;
}
#ifdef OF_HAVE_FILES
- (instancetype)initWithContentsOfFile: (OFString *)path
{
char *buffer = NULL;
uintmax_t size;
@try {
OFFile *file;
size = [[OFFileManager defaultManager]
attributesOfItemAtPath: path].fileSize;
# if UINTMAX_MAX > SIZE_MAX
if (size > SIZE_MAX)
@throw [OFOutOfRangeException exception];
# endif
if ((buffer = malloc((size_t)size)) == NULL)
@throw [OFOutOfMemoryException
exceptionWithRequestedSize: (size_t)size];
|
|
|
|
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
return self;
}
#ifdef OF_HAVE_FILES
- (instancetype)initWithContentsOfFile: (OFString *)path
{
char *buffer = NULL;
unsigned long long size;
@try {
OFFile *file;
size = [[OFFileManager defaultManager]
attributesOfItemAtPath: path].fileSize;
# if ULLONG_MAX > SIZE_MAX
if (size > SIZE_MAX)
@throw [OFOutOfRangeException exception];
# endif
if ((buffer = malloc((size_t)size)) == NULL)
@throw [OFOutOfMemoryException
exceptionWithRequestedSize: (size_t)size];
|