summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2009-09-03 22:26:33 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2009-09-04 11:50:26 -0700
commit92a1747eeab6bc497db748e79ca4f029b1c1dc10 (patch)
treedadc11bea2b4f3a2ab831c14a075ea8483f63145
parentapply --whitespace=fix: detect new blank lines at eof correctly (diff)
downloadtgif-92a1747eeab6bc497db748e79ca4f029b1c1dc10.tar.xz
apply.c: split check_whitespace() into two
This splits the logic to record the presence of whitespace errors out of the check_whitespace() function, which checks and then records. The new function, record_ws_error(), can be used by the blank-at-eof check that does not use ws_check() logic to report its findings in the same output format. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin-apply.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/builtin-apply.c b/builtin-apply.c
index c5e4048c61..80ddf55ba5 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -1055,23 +1055,29 @@ static int find_header(char *line, unsigned long size, int *hdrsize, struct patc
return -1;
}
-static void check_whitespace(const char *line, int len, unsigned ws_rule)
+static void record_ws_error(unsigned result, const char *line, int len, int linenr)
{
char *err;
- unsigned result = ws_check(line + 1, len - 1, ws_rule);
+
if (!result)
return;
whitespace_error++;
if (squelch_whitespace_errors &&
squelch_whitespace_errors < whitespace_error)
- ;
- else {
- err = whitespace_error_string(result);
- fprintf(stderr, "%s:%d: %s.\n%.*s\n",
- patch_input_file, linenr, err, len - 2, line + 1);
- free(err);
- }
+ return;
+
+ err = whitespace_error_string(result);
+ fprintf(stderr, "%s:%d: %s.\n%.*s\n",
+ patch_input_file, linenr, err, len, line);
+ free(err);
+}
+
+static void check_whitespace(const char *line, int len, unsigned ws_rule)
+{
+ unsigned result = ws_check(line + 1, len - 1, ws_rule);
+
+ record_ws_error(result, line + 1, len - 2, linenr);
}
/*