Index: src/OFArchiveIRIHandler.m ================================================================== --- src/OFArchiveIRIHandler.m +++ src/OFArchiveIRIHandler.m @@ -91,11 +91,11 @@ .stringByRemovingPercentEncoding]; path = [percentEncodedPath substringWithRange: OFMakeRange(pos + 1, percentEncodedPath.length - pos - 1)] .stringByRemovingPercentEncoding; - if ([scheme isEqual: @"lha"]) { + if ([scheme isEqual: @"lha-archive"]) { OFLHAArchive *archive = [OFLHAArchive archiveWithIRI: archiveIRI mode: @"r"]; OFLHAArchiveEntry *entry; while ((entry = [archive nextEntry]) != nil) { @@ -106,11 +106,11 @@ } @throw [OFOpenItemFailedException exceptionWithIRI: IRI mode: mode errNo: ENOENT]; - } else if ([scheme isEqual: @"tar"]) { + } else if ([scheme isEqual: @"tar-archive"]) { OFTarArchive *archive = [OFTarArchive archiveWithIRI: archiveIRI mode: @"r"]; OFTarArchiveEntry *entry; while ((entry = [archive nextEntry]) != nil) { @@ -121,16 +121,16 @@ } @throw [OFOpenItemFailedException exceptionWithIRI: IRI mode: mode errNo: ENOENT]; - } else if ([scheme isEqual: @"zip"]) { + } else if ([scheme isEqual: @"zip-archive"]) { OFZIPArchive *archive = [OFZIPArchive archiveWithIRI: archiveIRI mode: @"r"]; stream = [archive streamForReadingFile: path]; - } else if ([scheme isEqual: @"zoo"]) { + } else if ([scheme isEqual: @"zoo-archive"]) { OFZooArchive *archive = [OFZooArchive archiveWithIRI: archiveIRI mode: @"r"]; OFZooArchiveEntry *entry; while ((entry = [archive nextEntry]) != nil) { Index: src/OFIRIHandler.m ================================================================== --- src/OFIRIHandler.m +++ src/OFIRIHandler.m @@ -68,14 +68,18 @@ #if defined(OF_HAVE_SOCKETS) && defined(OF_HAVE_THREADS) [self registerClass: [OFHTTPIRIHandler class] forScheme: @"http"]; [self registerClass: [OFHTTPIRIHandler class] forScheme: @"https"]; #endif [self registerClass: [OFArchiveIRIHandler class] forScheme: @"gzip"]; - [self registerClass: [OFArchiveIRIHandler class] forScheme: @"lha"]; - [self registerClass: [OFArchiveIRIHandler class] forScheme: @"tar"]; - [self registerClass: [OFArchiveIRIHandler class] forScheme: @"zip"]; - [self registerClass: [OFArchiveIRIHandler class] forScheme: @"zoo"]; + [self registerClass: [OFArchiveIRIHandler class] + forScheme: @"lha-archive"]; + [self registerClass: [OFArchiveIRIHandler class] + forScheme: @"tar-archive"]; + [self registerClass: [OFArchiveIRIHandler class] + forScheme: @"zip-archive"]; + [self registerClass: [OFArchiveIRIHandler class] + forScheme: @"zoo-archive"]; } + (bool)registerClass: (Class)class forScheme: (OFString *)scheme { #ifdef OF_HAVE_THREADS Index: src/OFLHAArchive.m ================================================================== --- src/OFLHAArchive.m +++ src/OFLHAArchive.m @@ -95,11 +95,12 @@ return [[[self alloc] initWithIRI: IRI mode: mode] autorelease]; } + (OFIRI *)IRIForFilePath: (OFString *)path inArchiveWithIRI: (OFIRI *)IRI { - return OFArchiveIRIHandlerIRIForFileInArchive(@"lha", path, IRI); + return OFArchiveIRIHandlerIRIForFileInArchive( + @"lha-archive", path, IRI); } - (instancetype)init { OF_INVALID_INIT_METHOD Index: src/OFTarArchive.m ================================================================== --- src/OFTarArchive.m +++ src/OFTarArchive.m @@ -86,11 +86,12 @@ return [[[self alloc] initWithIRI: IRI mode: mode] autorelease]; } + (OFIRI *)IRIForFilePath: (OFString *)path inArchiveWithIRI: (OFIRI *)IRI { - return OFArchiveIRIHandlerIRIForFileInArchive(@"tar", path, IRI); + return OFArchiveIRIHandlerIRIForFileInArchive( + @"tar-archive", path, IRI); } - (instancetype)init { OF_INVALID_INIT_METHOD Index: src/OFZIPArchive.m ================================================================== --- src/OFZIPArchive.m +++ src/OFZIPArchive.m @@ -197,11 +197,12 @@ return [[[self alloc] initWithIRI: IRI mode: mode] autorelease]; } + (OFIRI *)IRIForFilePath: (OFString *)path inArchiveWithIRI: (OFIRI *)IRI { - return OFArchiveIRIHandlerIRIForFileInArchive(@"zip", path, IRI); + return OFArchiveIRIHandlerIRIForFileInArchive( + @"zip-archive", path, IRI); } - (instancetype)init { OF_INVALID_INIT_METHOD Index: src/OFZooArchive.m ================================================================== --- src/OFZooArchive.m +++ src/OFZooArchive.m @@ -103,11 +103,12 @@ return [[[self alloc] initWithIRI: IRI mode: mode] autorelease]; } + (OFIRI *)IRIForFilePath: (OFString *)path inArchiveWithIRI: (OFIRI *)IRI { - return OFArchiveIRIHandlerIRIForFileInArchive(@"zoo", path, IRI); + return OFArchiveIRIHandlerIRIForFileInArchive( + @"zoo-archive", path, IRI); } - (instancetype)init { OF_INVALID_INIT_METHOD