1
Fork 0
mirror of https://github.com/RGBCube/dix synced 2025-07-27 11:47:46 +00:00

fix: don't write double newlines when package diff doesn't exist

This commit is contained in:
RGBCube 2025-05-09 17:44:54 +03:00 committed by bloxx12
parent 553e594968
commit d85e9ec3b0
2 changed files with 7 additions and 5 deletions

View file

@ -47,7 +47,7 @@ pub fn write_diffln<'a>(
writer: &mut dyn fmt::Write,
paths_old: impl Iterator<Item = &'a StorePath>,
paths_new: impl Iterator<Item = &'a StorePath>,
) -> fmt::Result {
) -> Result<usize, fmt::Error> {
let mut paths =
FxHashMap::<&str, Diff<Vec<Option<&Version>>>>::with_hasher(FxBuildHasher);
@ -105,7 +105,7 @@ pub fn write_diffln<'a>(
let mut last_status = None::<DiffStatus>;
for (name, versions, status) in diffs {
for &(name, ref versions, status) in &diffs {
if last_status != Some(status) {
writeln!(
writer,
@ -255,5 +255,5 @@ pub fn write_diffln<'a>(
writeln!(writer)?;
}
Ok(())
Ok(diffs.len())
}

View file

@ -130,7 +130,7 @@ fn real_main() -> Result<()> {
writeln!(out)?;
#[expect(clippy::pattern_type_mismatch)]
dix::write_diffln(
let wrote = dix::write_diffln(
&mut out,
paths_old.iter().map(|(_, path)| path),
paths_new.iter().map(|(_, path)| path),
@ -144,7 +144,9 @@ fn real_main() -> Result<()> {
let size_new = size::Size::from_bytes(closure_size_new);
let size_diff = size_new - size_old;
writeln!(out)?;
if wrote > 0 {
writeln!(out)?;
}
writeln!(
out,