1. Skip "ed" test when the ed utility is not installed https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=a5b442c 2. Abort when cleaning up fails https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=b7b028a 3. Don't crash when RLIMIT_NOFILE is set to RLIM_INFINITY https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=61d7788 4. Avoid invalid memory access in context format diffs https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=15b158d 5. Fix failed assertion 'outstate->after_newline' https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=76e7758 6. Add missing-section tests to context-format test case https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=78ed9de 7. Fix test for presence of BASH_LINENO[0] https://git.savannah.gnu.org/gitweb/?p=patch.git;a=commit;h=7623b2d
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
From 2ab603a64f404d4724a867b8cf9f08ccacbff7c6 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Gruenbacher <agruen@gnu.org>
|
|
Date: Tue, 16 Jul 2019 01:16:28 +0200
|
|
Subject: [PATCH 5/8] Fix failed assertion 'outstate->after_newline'
|
|
|
|
The assertion triggers when the -o FILE option is used, more than one output
|
|
file is written into FILE, and one of those files (except the last one) ends in
|
|
the middle of a line.
|
|
* src/patch.c (main): Fix the case described above.
|
|
|
|
Signed-off-by: Xibo.Wang <wangxb12@chinatelecom.cn>
|
|
---
|
|
src/patch.c | 7 +++++++
|
|
1 file changed, 7 insertions(+)
|
|
|
|
diff --git a/src/patch.c b/src/patch.c
|
|
index 1e1915d..9684794 100644
|
|
--- a/src/patch.c
|
|
+++ b/src/patch.c
|
|
@@ -369,6 +369,13 @@ main (int argc, char **argv)
|
|
/* outstate.ofp now owns the file descriptor */
|
|
outfd = -1;
|
|
}
|
|
+ else
|
|
+ {
|
|
+ /* When writing to a single output file (-o FILE), always pretend
|
|
+ that the output file ends in a newline. Otherwise, when another
|
|
+ file is written to the same output file, apply_hunk will fail. */
|
|
+ outstate.after_newline = true;
|
|
+ }
|
|
|
|
/* find out where all the lines are */
|
|
if (!skip_rest_of_patch) {
|
|
--
|
|
1.8.3.1
|
|
|