aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--toys/posix/patch.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/toys/posix/patch.c b/toys/posix/patch.c
index 5af07a14..40d7cbcf 100644
--- a/toys/posix/patch.c
+++ b/toys/posix/patch.c
@@ -387,7 +387,9 @@ void patch_main(void)
// If we've got a file to open, do so.
} else if (!(toys.optflags & FLAG_p) || i <= TT.prefix) {
// If the old file was null, we're creating a new one.
- if (!strcmp(oldname, "/dev/null") && !oldsum) {
+ if ((!strcmp(oldname, "/dev/null") || !oldsum)
+ && access(name, F_OK))
+ {
printf("creating %s\n", name);
s = strrchr(name, '/');
if (s) {