1*4882a593SmuzhiyunFrom b5a91a01e5d0897facdd0f49d64b76b0f02b43e1 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Andreas Gruenbacher <agruen@gnu.org>
3*4882a593SmuzhiyunDate: Fri, 6 Apr 2018 11:34:51 +0200
4*4882a593SmuzhiyunSubject: [PATCH] Allow input files to be missing for ed-style patches
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun* src/pch.c (do_ed_script): Allow input files to be missing so that new
7*4882a593Smuzhiyunfiles will be created as with non-ed-style patches.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunSigned-off-by: Baruch Siach <baruch@tkos.co.il>
10*4882a593Smuzhiyun---
11*4882a593SmuzhiyunUpstream status: commit b5a91a01e5d0
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun src/pch.c | 8 +++++---
14*4882a593Smuzhiyun 1 file changed, 5 insertions(+), 3 deletions(-)
15*4882a593Smuzhiyun
16*4882a593Smuzhiyundiff --git a/src/pch.c b/src/pch.c
17*4882a593Smuzhiyunindex bc6278c4032c..0c5cc2623079 100644
18*4882a593Smuzhiyun--- a/src/pch.c
19*4882a593Smuzhiyun+++ b/src/pch.c
20*4882a593Smuzhiyun@@ -2394,9 +2394,11 @@ do_ed_script (char const *inname, char const *outname,
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun     if (! dry_run && ! skip_rest_of_patch) {
23*4882a593Smuzhiyun 	int exclusive = *outname_needs_removal ? 0 : O_EXCL;
24*4882a593Smuzhiyun-	assert (! inerrno);
25*4882a593Smuzhiyun-	*outname_needs_removal = true;
26*4882a593Smuzhiyun-	copy_file (inname, outname, 0, exclusive, instat.st_mode, true);
27*4882a593Smuzhiyun+	if (inerrno != ENOENT)
28*4882a593Smuzhiyun+	  {
29*4882a593Smuzhiyun+	    *outname_needs_removal = true;
30*4882a593Smuzhiyun+	    copy_file (inname, outname, 0, exclusive, instat.st_mode, true);
31*4882a593Smuzhiyun+	  }
32*4882a593Smuzhiyun 	sprintf (buf, "%s %s%s", editor_program,
33*4882a593Smuzhiyun 		 verbosity == VERBOSE ? "" : "- ",
34*4882a593Smuzhiyun 		 outname);
35*4882a593Smuzhiyun--
36*4882a593Smuzhiyun2.16.3
37*4882a593Smuzhiyun
38