From d1b04ce6b7bfd4d77ca5ba0d271a9d904107de65 Mon Sep 17 00:00:00 2001 From: Kelly Yancey Date: Wed, 2 Aug 2000 06:54:21 +0000 Subject: [PATCH] Fix patch such that skipping files does not count as a failure. Previously, using -S/--skip, -f/--force, or -t/--batch to skip a patch in a patchset still registers a failure which causes patch to return a non-zero exit code. This is particularly undesirable with regards to ports as there is no way to ignore the non-zero code. (Luckily, we don't currently have any ports that make use of any of these options.) The PR (yes, my own) is slightly incorrect: It states that -f does indeed properly skip patches. It does, but it still sets the failure flag causing patch to return non-zero. PR: 19638 Submitted by: kbyanc@posi.net --- gnu/usr.bin/patch/patch.c | 1 - gnu/usr.bin/patch/pch.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/usr.bin/patch/patch.c b/gnu/usr.bin/patch/patch.c index 0e37ddb46461..0a32fa7a3243 100644 --- a/gnu/usr.bin/patch/patch.c +++ b/gnu/usr.bin/patch/patch.c @@ -313,7 +313,6 @@ char **argv; newwhere = pch_newfirst() + last_offset; if (skip_rest_of_patch) { abort_hunk(); - failed++; if (verbose) say3("Hunk #%d ignored at %ld.\n", hunk, newwhere); } diff --git a/gnu/usr.bin/patch/pch.c b/gnu/usr.bin/patch/pch.c index 6acf5957f0ec..71bbd255c9ff 100644 --- a/gnu/usr.bin/patch/pch.c +++ b/gnu/usr.bin/patch/pch.c @@ -174,7 +174,7 @@ there_is_another_patch() say3("(Patch is indented %d space%s.)\n", p_indent, p_indent==1?"":"s"); skip_to(p_start,p_sline); while (filearg[0] == Nullch) { - if (force || batch) { + if (force || batch || skip_rest_of_patch) { say1("No file to patch. Skipping...\n"); filearg[0] = savestr(bestguess); skip_rest_of_patch = TRUE;