Skip to content

ExtractAllEntries doesn't produce correct CRC info #937

@Kimi-Arthur

Description

@Kimi-Arthur

Example code using latest 0.40.0:

using System;
using System.Linq;
using SharpCompress.Archives;

namespace SharpCompressIssue;

class Program {
    static void Main(string[] args) {
        var archive = ArchiveFactory.Open("a.part01.rar");
        Console.WriteLine("Entries:");
        foreach (var entry in archive.Entries.Where(entry => !entry.IsDirectory)
                     .Select(entry => entry.Crc)) {
            Console.WriteLine($"\t{entry}");
        }

        Console.WriteLine("ExtractAllEntries:");
        using var reader = archive.ExtractAllEntries();

        while (reader.MoveToNextEntry()) {
            var entry = reader.Entry;
            if (!entry.IsDirectory) {
                Console.WriteLine($"\t{entry.Crc}");
            }
        }
    }
}

Expected to find same list of CRC printed twice, but found:

Entries:
	3024952638
	2836867617
	2271334537
	3102882226
ExtractAllEntries:
	3653516404
	0
	0
	2012975541

Full example here with split part rar files.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions