From 9e62d03623e38eb0bc7c6dc76edace76b0adee57 Mon Sep 17 00:00:00 2001 From: kbyanc Date: Wed, 2 Aug 2000 22:31:34 +0000 Subject: Fix previous commit such that only -S/--skip ignores errors when applying a patch, returning -f/--force and -t/--batch to their previous semantics. Pointed out by: asami --- gnu/usr.bin/patch/patch.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu/usr.bin/patch') diff --git a/gnu/usr.bin/patch/patch.c b/gnu/usr.bin/patch/patch.c index 0a32fa7..0b49410 100644 --- a/gnu/usr.bin/patch/patch.c +++ b/gnu/usr.bin/patch/patch.c @@ -130,6 +130,9 @@ int check_patch = FALSE; /* or PATCH_INDEX_FIRST env. variable is set */ int index_first; +/* TRUE if -S was specified on command line. */ +int skip_flag_specified = FALSE; + /* Apply a set of diffs as appropriate. */ int @@ -313,6 +316,8 @@ char **argv; newwhere = pch_newfirst() + last_offset; if (skip_rest_of_patch) { abort_hunk(); + if (! skip_flag_specified) + failed++; if (verbose) say3("Hunk #%d ignored at %ld.\n", hunk, newwhere); } @@ -437,6 +442,7 @@ reinitialize_almost_everything() reverse = reverse_flag_specified; skip_rest_of_patch = FALSE; + skip_flag_specified = FALSE; get_some_switches(); @@ -567,6 +573,7 @@ get_some_switches() break; case 'S': skip_rest_of_patch = TRUE; + skip_flag_specified = TRUE; break; case 't': batch = TRUE; -- cgit v1.1