libpijul::diff::bytes_pos is now sometimes called on the last byte of the file; handle that case

pmeunier
Sep 22, 2021, 8:50 AM
PUHYAG7LHWPY7EMV6QC45VGZCWBKDMMR4R7QION2OJXUEWL557VAC

Dependencies

  • [2] TGA6QXGI Initial support for binary diffs (conflicts are not yet supported in the output)
  • [3] SXEYMYF7 Fixing the bad changes in history (unfortunately, by rebooting).
  • [4] IYJZVLET Cleaning up the literate programming bits

Change contents

  • replacement in "libpijul/src/diff/mod.rs" at line 197
    [3.800857][2.2319:2498](),[2.2498][3.800910:800978](),[3.800910][3.800910:800978]()
    debug!(
    "bytes pos {:?} {:?}",
    old,
    Line {
    l: &(chunks[old].l)[..20.min(chunks[old].l.len())],
    ..chunks[old]
    }
    );
    chunks[old].l.as_ptr() as usize - chunks[0].l.as_ptr() as usize
    [3.800857]
    [3.800978]
    if old < chunks.len() {
    chunks[old].l.as_ptr() as usize - chunks[0].l.as_ptr() as usize
    } else {
    chunks[old - 1].l.as_ptr() as usize - chunks[0].l.as_ptr() as usize
    + chunks[old - 1].l.len()
    }