@@ -62,16 +62,16 @@ return [[[self alloc] initWithItems: items count: count] autorelease]; } + (instancetype)dataWithItems: (const void *)items - itemSize: (size_t)itemSize count: (size_t)count + itemSize: (size_t)itemSize { return [[[self alloc] initWithItems: items - itemSize: itemSize - count: count] autorelease]; + count: count + itemSize: itemSize] autorelease]; } + (instancetype)dataWithItemsNoCopy: (void *)items count: (size_t)count freeWhenDone: (bool)freeWhenDone @@ -80,17 +80,17 @@ count: count freeWhenDone: freeWhenDone] autorelease]; } + (instancetype)dataWithItemsNoCopy: (void *)items - itemSize: (size_t)itemSize count: (size_t)count + itemSize: (size_t)itemSize freeWhenDone: (bool)freeWhenDone { return [[[self alloc] initWithItemsNoCopy: items - itemSize: itemSize count: count + itemSize: itemSize freeWhenDone: freeWhenDone] autorelease]; } #ifdef OF_HAVE_FILES + (instancetype)dataWithContentsOfFile: (OFString *)path @@ -117,27 +117,27 @@ - (instancetype)initWithItems: (const void *)items count: (size_t)count { return [self initWithItems: items - itemSize: 1 - count: count]; + count: count + itemSize: 1]; } - (instancetype)initWithItems: (const void *)items - itemSize: (size_t)itemSize count: (size_t)count + itemSize: (size_t)itemSize { self = [super init]; @try { if (itemSize == 0) @throw [OFInvalidArgumentException exception]; _items = of_malloc(count, itemSize); - _itemSize = itemSize; _count = count; + _itemSize = itemSize; _freeWhenDone = true; memcpy(_items, items, count * itemSize); } @catch (id e) { [self release]; @@ -150,29 +150,29 @@ - (instancetype)initWithItemsNoCopy: (void *)items count: (size_t)count freeWhenDone: (bool)freeWhenDone { return [self initWithItemsNoCopy: items - itemSize: 1 count: count + itemSize: 1 freeWhenDone: freeWhenDone]; } - (instancetype)initWithItemsNoCopy: (void *)items - itemSize: (size_t)itemSize count: (size_t)count + itemSize: (size_t)itemSize freeWhenDone: (bool)freeWhenDone { self = [super init]; @try { if (itemSize == 0) @throw [OFInvalidArgumentException exception]; _items = (unsigned char *)items; - _itemSize = itemSize; _count = count; + _itemSize = itemSize; _freeWhenDone = freeWhenDone; } @catch (id e) { [self release]; @throw e; } @@ -242,12 +242,12 @@ exceptionWithURL: URL]; stream = [URLHandler openItemAtURL: URL mode: @"r"]; - _itemSize = 1; _count = 0; + _itemSize = 1; _freeWhenDone = true; pageSize = [OFSystemInfo pageSize]; buffer = of_malloc(1, pageSize); @@ -291,12 +291,12 @@ @throw [OFInvalidFormatException exception]; count /= 2; _items = of_malloc(count, 1); - _itemSize = 1; _count = count; + _itemSize = 1; _freeWhenDone = true; cString = [string cStringWithEncoding: OF_STRING_ENCODING_ASCII]; @@ -434,12 +434,12 @@ } - (id)mutableCopy { return [[OFMutableData alloc] initWithItems: _items - itemSize: _itemSize - count: _count]; + count: _count + itemSize: _itemSize]; } - (bool)isEqual: (id)object { OFData *data; @@ -514,12 +514,12 @@ if (range.length > SIZE_MAX - range.location || range.location + range.length > _count) @throw [OFOutOfRangeException exception]; ret = [OFData dataWithItemsNoCopy: _items + (range.location * _itemSize) - itemSize: _itemSize count: range.length + itemSize: _itemSize freeWhenDone: false]; ret->_parentData = [(_parentData != nil ? _parentData : self) copy]; return ret; }