patch: fix matching failure

Fix matching failure when plist is advanced while checking for buffered
lines - the lines in the hunk that are about to be added should be
skipped when checking for matching context.

Also add a valid test case that fails with current busybox and is fixed
by the change.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Aaro Koskinen
2016-11-22 00:19:51 +02:00
committed by Denys Vlasenko
parent 2eff59667d
commit cb810c48c0
2 changed files with 56 additions and 0 deletions

View File

@@ -242,6 +242,51 @@ patch: can't open 'dir2///file': No such file or directory
zxc
"
testing "patch internal buffering bug?" \
'patch -p1 2>&1; echo $?; cat input' \
"\
patching file input
0
foo
1
2
3
bar
" \
"\
foo
bar
" \
"\
--- a/input.orig
+++ b/input
@@ -5,5 +5,8 @@ foo
+1
+2
+3
bar
--
2.9.2
" \
rm input.orig 2>/dev/null
exit $FAILCOUNT