CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2020/06/26 01:28:47
Modified files:
usr.bin/rcs : diff3.c
usr.bin/cvs : diff3.c
usr.bin/diff3 : diff3prog.c
Log 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@