Date: Tue, 04 Apr 2023 17:05:08 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270643 Bug ID: 270643 Summary: Malformed output when comparing files with lines longer than 512 characters Product: Base System Version: Unspecified Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: email@example.com Created attachment 241299 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=241299&action=edit Zip archive containing example files and output When comparing files which have lines longer than 512 characters, the output generated by `diff` truncates the long line, *and* fails to add a line break after it. This causes the next diff indicator to be missed. - unzip the attached archive ("VenturaDiffBug.zip"). - open a Terminal window, and cd into the resulting folder. - run this command: `diff --text file2.txt file1.txt` Expected result: => The output should look like: ``` 1d0 < - 617149952 616901632 616308736 615692800 615050752 614669312 613733120 612807680 612417792 611426560 611000320 610260480 609772544 609525504 609511936 609338880... (remainder omitted for brevity) 2a2 > - 617149952 616901632 ``` Actual result: => The first "<" diff gets truncated at exactly 512 characters, and then the second diff is appended immediately thereafter with no intervening line break, so the output looks like this (see `diffoutput.txt` in the archive): ``` 1d0 < - 617149952 616901632 [...omitted for brevity...] 604445442a2 > - 617149952 616901632 ``` Note the "`2a2`" at the end of the first line of context; this should start on a new line, but doesn't. Consequently, interpreting the diff output presents incorrect results to the user. -- You are receiving this mail because: You are the assignee for the bug.