diff options
-rw-r--r-- | src/patch.c | 1 | ||||
-rw-r--r-- | tests/ed-style | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/patch.c b/src/patch.c index 9146597..81c7a02 100644 --- a/src/patch.c +++ b/src/patch.c @@ -236,6 +236,7 @@ main (int argc, char **argv) } remove_if_needed (TMPOUTNAME, &TMPOUTNAME_needs_removal); } + remove_if_needed (TMPEDNAME, &TMPEDNAME_needs_removal); if (! skip_rest_of_patch && ! file_type) { diff --git a/tests/ed-style b/tests/ed-style index 6b6ef9d..504e6e5 100644 --- a/tests/ed-style +++ b/tests/ed-style @@ -38,3 +38,34 @@ EOF check 'cat foo' <<EOF foo EOF + +# Test the case where one ed-style patch modifies several files + +cat > ed3.diff <<EOF +--- foo ++++ foo +1c +bar +. +--- baz ++++ baz +0a +baz +. +EOF + +# Apparently we can't create a file with such a patch, while it works fine +# when the file name is provided on the command line +cat > baz <<EOF +EOF + +check 'patch -e -i ed3.diff' <<EOF +EOF + +check 'cat foo' <<EOF +bar +EOF + +check 'cat baz' <<EOF +baz +EOF |