Dotnet Tar creates empty files that cause error in tar-rs
Program.cs (preferably use .net 8)
using System.Formats.Tar;
MemoryStream ms = new(0);
var testStream = File.OpenWrite("trigger.tar");
TarWriter archive = new(testStream);
PaxTarEntry entry = new(TarEntryType.RegularFile, "zeroed");
entry.DataStream = ms;
archive.WriteEntry(entry);
archive.Dispose();
testStream.Dispose();
rust code:
use std::fs::File;
use tar::Archive;
fn main() {
let file = File::open("trigger.tar").unwrap();
let mut archive = Archive::new(file);
let entries = archive.entries().unwrap();
for entry in entries {
let entry = entry.unwrap();
println!("{:?}", entry.header());
}
}
what I get:
thread 'main' panicked at src/main.rs:9:27:
called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "numeric field was not a number: when getting size for zeroed" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
example expected: ( "trigger.tar" created using GNU tar)
Dotnet Tar creates empty files that cause error in tar-rs
Program.cs (preferably use .net 8)
rust code:
what I get:
example expected: ( "trigger.tar" created using GNU tar)