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: [email protected]
Reporter: [email protected]
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.