ObjFW  Check-in [f588271db7]

Overview
Comment:OFLHAArchive: Add support for -pm0- files
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f588271db7b4793806a5ee5eb6427d8ad4b04ff939754100f188a7383394e85f
User & Date: js on 2024-02-24 17:27:17
Other Links: manifest | tags
Context
2024-02-24
19:40
Make everything work on macOS Leopard again check-in: c3e83facc5 user: js tags: trunk
17:27
OFLHAArchive: Add support for -pm0- files check-in: f588271db7 user: js tags: trunk
17:24
OFLHAArchive: Ignore trailing garbage check-in: 35257251ec user: js tags: trunk
Changes

Modified src/OFLHAArchive.m from [26a6d95955] to [f4f3dda99f].

333
334
335
336
337
338
339
340


341
342
343
344
345
346
347
333
334
335
336
337
338
339

340
341
342
343
344
345
346
347
348







-
+
+







		else if ([compressionMethod isEqual: @"-lhx-"])
			_decompressedStream = [[OFLHADecompressingStream alloc]
			    of_initWithStream: stream
				 distanceBits: 5
			       dictionaryBits: 20];
		else if ([compressionMethod isEqual: @"-lh0-"] ||
		    [compressionMethod isEqual: @"-lhd-"] ||
		    [compressionMethod isEqual: @"-lz4-"])
		    [compressionMethod isEqual: @"-lz4-"] ||
		    [compressionMethod isEqual: @"-pm0-"])
			_decompressedStream = [stream retain];
		else
			@throw [OFUnsupportedVersionException
			    exceptionWithVersion: compressionMethod];

		_entry = [entry copy];
		_toRead = entry.uncompressedSize;

Modified utils/ofarc/OFArc.m from [6f8333dc2e] to [e196e4c527].

559
560
561
562
563
564
565
566


567
568
569
570
571
572
573
559
560
561
562
563
564
565

566
567
568
569
570
571
572
573
574







-
+
+







		/* This one has to be first for obvious reasons */
		if ([path hasSuffix: @".tar.gz"] || [path hasSuffix: @".tgz"] ||
		    [path hasSuffix: @".TAR.GZ"] || [path hasSuffix: @".TGZ"])
			type = @"tgz";
		else if ([path hasSuffix: @".gz"] || [path hasSuffix: @".GZ"])
			type = @"gz";
		else if ([path hasSuffix: @".lha"] ||
		    [path hasSuffix: @".lzh"] || [path hasSuffix: @".lzs"])
		    [path hasSuffix: @".lzh"] || [path hasSuffix: @".lzs"] ||
		    [path hasSuffix: @".pma"])
			type = @"lha";
		else if ([path hasSuffix: @".tar"] || [path hasSuffix: @".TAR"])
			type = @"tar";
		else
			type = @"zip";
	}