summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/patch/patch.c
diff options
context:
space:
mode:
authorKelly Yancey <kbyanc@FreeBSD.org>2000-08-02 22:31:34 +0000
committerKelly Yancey <kbyanc@FreeBSD.org>2000-08-02 22:31:34 +0000
commitd2d11ded0fc4cb5069f387d486e1b69d4015addc (patch)
tree49899062e1b093c1116fc52ed83baf57b29a68ec /gnu/usr.bin/patch/patch.c
parent2c7f8b4ebdaacdf907e41c9a94f756a5e1dd9483 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/patch/patch.c')
-rw-r--r--gnu/usr.bin/patch/patch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gnu/usr.bin/patch/patch.c b/gnu/usr.bin/patch/patch.c
index 0a32fa7a3243..0b49410fa356 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;