@@ -62,11 +62,11 @@ { [entry->_fileName release]; entry->_fileName = nil; entry->_fileName = [[OFString alloc] - initWithCString: (char *)[extension items] + 1 + initWithCString: (char *)extension.items + 1 encoding: encoding length: [extension count] - 1]; } static void @@ -73,12 +73,12 @@ parseDirectoryNameExtension(OFLHAArchiveEntry *entry, OFData *extension, of_string_encoding_t encoding) { void *pool = objc_autoreleasePoolPush(); OFMutableData *data = [[extension mutableCopy] autorelease]; - char *items = [data items]; - size_t count = [data count]; + char *items = data.mutableItems; + size_t count = data.count; OFMutableString *directoryName; for (size_t i = 1; i < count; i++) if (items[i] == '\xFF') items[i] = '/'; @@ -106,25 +106,25 @@ { [entry->_fileComment release]; entry->_fileComment = nil; entry->_fileComment = [[OFString alloc] - initWithCString: (char *)[extension items] + 1 + initWithCString: (char *)extension.items + 1 encoding: encoding - length: [extension count] - 1]; + length: extension.count - 1]; } static void parsePermissionsExtension(OFLHAArchiveEntry *entry, OFData *extension, of_string_encoding_t encoding) { uint16_t mode; - if ([extension count] != 3) + if (extension.count != 3) @throw [OFInvalidFormatException exception]; - memcpy(&mode, (char *)[extension items] + 1, 2); + memcpy(&mode, (char *)extension.items + 1, 2); mode = OF_BSWAP16_IF_BE(mode); [entry->_mode release]; entry->_mode = nil; @@ -135,17 +135,17 @@ parseGIDUIDExtension(OFLHAArchiveEntry *entry, OFData *extension, of_string_encoding_t encoding) { uint16_t UID, GID; - if ([extension count] != 5) + if (extension.count != 5) @throw [OFInvalidFormatException exception]; - memcpy(&GID, (char *)[extension items] + 1, 2); + memcpy(&GID, (char *)extension.items + 1, 2); GID = OF_BSWAP16_IF_BE(GID); - memcpy(&UID, (char *)[extension items] + 3, 2); + memcpy(&UID, (char *)extension.items + 3, 2); UID = OF_BSWAP16_IF_BE(UID); [entry->_GID release]; entry->_GID = nil; @@ -162,13 +162,13 @@ { [entry->_group release]; entry->_group = nil; entry->_group = [[OFString alloc] - initWithCString: (char *)[extension items] + 1 + initWithCString: (char *)extension.items + 1 encoding: encoding - length: [extension count] - 1]; + length: extension.count - 1]; } static void parseOwnerExtension(OFLHAArchiveEntry *entry, OFData *extension, of_string_encoding_t encoding) @@ -175,25 +175,25 @@ { [entry->_owner release]; entry->_owner = nil; entry->_owner = [[OFString alloc] - initWithCString: (char *)[extension items] + 1 + initWithCString: (char *)extension.items + 1 encoding: encoding - length: [extension count] - 1]; + length: extension.count - 1]; } static void parseModificationDateExtension(OFLHAArchiveEntry *entry, OFData *extension, of_string_encoding_t encoding) { uint32_t modificationDate; - if ([extension count] != 5) + if (extension.count != 5) @throw [OFInvalidFormatException exception]; - memcpy(&modificationDate, (char *)[extension items] + 1, 4); + memcpy(&modificationDate, (char *)extension.items + 1, 4); modificationDate = OF_BSWAP32_IF_BE(modificationDate); [entry->_modificationDate release]; entry->_modificationDate = nil; @@ -289,12 +289,12 @@ count: [entry->_directoryName cStringLengthWithEncoding: encoding]]; [data addItems: [entry->_fileName cStringWithEncoding: encoding] count: [entry->_fileName cStringLengthWithEncoding: encoding]]; - cString = [data items]; - length = [data count]; + cString = data.mutableItems; + length = data.count; pos = 0; for (size_t i = 0; i < length; i++) { if (cString[i] == '/' || cString[i] == '\\') { cString[i] = '\xFF'; @@ -593,11 +593,11 @@ tmp32 = OF_BSWAP32_IF_BE(_uncompressedSize); [data addItems: &tmp32 count: sizeof(tmp32)]; - tmp32 = OF_BSWAP32_IF_BE((uint32_t)[_date timeIntervalSince1970]); + tmp32 = OF_BSWAP32_IF_BE((uint32_t)_date.timeIntervalSince1970); [data addItems: &tmp32 count: sizeof(tmp32)]; /* Reserved */ [data increaseCountBy: 1]; @@ -655,11 +655,11 @@ tmp16 = OF_BSWAP16_IF_BE(5); [data addItems: &tmp16 count: sizeof(tmp16)]; [data addItem: "\x50"]; - tmp16 = OF_BSWAP16_IF_BE([_mode uInt16Value]); + tmp16 = OF_BSWAP16_IF_BE(_mode.uInt16Value); [data addItems: &tmp16 count: sizeof(tmp16)]; } if (_UID != nil || _GID != nil) { @@ -669,15 +669,15 @@ tmp16 = OF_BSWAP16_IF_BE(7); [data addItems: &tmp16 count: sizeof(tmp16)]; [data addItem: "\x51"]; - tmp16 = OF_BSWAP16_IF_BE([_GID uInt16Value]); + tmp16 = OF_BSWAP16_IF_BE(_GID.uInt16Value); [data addItems: &tmp16 count: sizeof(tmp16)]; - tmp16 = OF_BSWAP16_IF_BE([_UID uInt16Value]); + tmp16 = OF_BSWAP16_IF_BE(_UID.uInt16Value); [data addItems: &tmp16 count: sizeof(tmp16)]; } if (_group != nil) { @@ -715,58 +715,58 @@ [data addItems: &tmp16 count: sizeof(tmp16)]; [data addItem: "\x54"]; tmp32 = OF_BSWAP32_IF_BE( - (uint32_t)[_modificationDate timeIntervalSince1970]); + (uint32_t)_modificationDate.timeIntervalSince1970); [data addItems: &tmp32 count: sizeof(tmp32)]; } for (OFData *extension in _extensions) { - size_t extensionLength = [extension count]; + size_t extensionLength = extension.count; - if ([extension itemSize] != 1) + if (extension.itemSize != 1) @throw [OFInvalidArgumentException exception]; if (extensionLength > UINT16_MAX - 2) @throw [OFOutOfRangeException exception]; tmp16 = OF_BSWAP16_IF_BE((uint16_t)extensionLength + 2); [data addItems: &tmp16 count: sizeof(tmp16)]; - [data addItems: [extension items] - count: [extension count]]; + [data addItems: extension.items + count: extension.count]; } /* Zero-length extension to terminate */ [data increaseCountBy: 2]; - headerSize = [data count]; + headerSize = data.count; if (headerSize > UINT16_MAX) @throw [OFOutOfRangeException exception]; /* Now fill in the size and CRC16 for the entire header */ tmp16 = OF_BSWAP16_IF_BE(headerSize); - memcpy([data itemAtIndex: 0], &tmp16, sizeof(tmp16)); + memcpy([data mutableItemAtIndex: 0], &tmp16, sizeof(tmp16)); - tmp16 = OF_BSWAP16_IF_BE(of_crc16(0, [data items], [data count])); - memcpy([data itemAtIndex: 27], &tmp16, sizeof(tmp16)); + tmp16 = of_crc16(0, data.items, data.count); + tmp16 = OF_BSWAP16_IF_BE(tmp16); + memcpy([data mutableItemAtIndex: 27], &tmp16, sizeof(tmp16)); [stream writeData: data]; objc_autoreleasePoolPop(pool); } - (OFString *)description { void *pool = objc_autoreleasePoolPush(); - OFString *mode = (_mode == nil - ? nil - : [OFString stringWithFormat: @"%" PRIo16, [_mode uInt16Value]]); - OFString *extensions = [[_extensions description] + OFString *mode = (_mode == nil ? nil + : [OFString stringWithFormat: @"%" PRIo16, _mode.uInt16Value]); + OFString *extensions = [_extensions.description stringByReplacingOccurrencesOfString: @"\n" withString: @"\n\t"]; OFString *ret = [OFString stringWithFormat: @"<%@:\n" @"\tFile name = %@\n" @@ -784,11 +784,11 @@ @"\tOwner = %@\n" @"\tGroup = %@\n" @"\tModification date = %@\n" @"\tExtensions: %@" @">", - [self class], [self fileName], _compressionMethod, _compressedSize, + self.class, self.fileName, _compressionMethod, _compressedSize, _uncompressedSize, _date, _headerLevel, _CRC16, _operatingSystemIdentifier, _fileComment, mode, _UID, _GID, _owner, _group, _modificationDate, extensions]; [ret retain];