Author :
stsp
Date :
2020-06-26 07:28:46
Hash :c0c93af8 Message :Fix merging of files that lack newlines for diff(3), OpenRCS, and OpenCVS.
Merges with a file that lacks newlines (\n) were triggering a fatal error.
This could be easily reproduced with merge(1) and diff3(1):
$ echo foo > foo
$ echo bar > bar
$ echo -n baz > baz
$ merge -p foo bar baz
merge: failed to merge
$ diff3 -E foo bar baz
1a
=======
diff3prog: logic error
$
Fix this by properly handling short reads from the third file argument.
Only the third file argument triggered the problem. The other input
files were already handled correctly.
ok millert@