@@ -71,11 +71,11 @@ for (size_t i = UTF8StringLength; i < length; i++) buffer[i] = '\0'; } @implementation OFTarArchive: OFObject -+ (instancetype)archiveWithStream: (OFStream *)stream ++ (instancetype)archiveWithStream: (OF_KINDOF(OFStream *))stream mode: (OFString *)mode { return [[[self alloc] initWithStream: stream mode: mode] autorelease]; } @@ -87,11 +87,11 @@ return [[[self alloc] initWithPath: path mode: mode] autorelease]; } #endif -- initWithStream: (OFStream *)stream +- initWithStream: (OF_KINDOF(OFStream *))stream mode: (OFString *)mode { self = [super init]; @try { @@ -114,12 +114,12 @@ bool empty = true; if (![_stream isKindOfClass: [OFSeekableStream class]]) @throw [OFInvalidArgumentException exception]; - [(OFSeekableStream *)stream seekToOffset: -1024 - whence: SEEK_END]; + [stream seekToOffset: -1024 + whence: SEEK_END]; [stream readIntoBuffer: buffer.c exactLength: 1024]; for (size_t i = 0; i < 1024 / sizeof(uint32_t); i++) if (buffer.u32[i] != 0) @@ -126,12 +126,12 @@ empty = false; if (!empty) @throw [OFInvalidFormatException exception]; - [(OFSeekableStream *)stream seekToOffset: -1024 - whence: SEEK_END]; + [stream seekToOffset: -1024 + whence: SEEK_END]; } } @catch (id e) { [self release]; @throw e; }