Commit c094197bf92736bb1c40cf1ca87bda970ab7f999

Russell Belfer 2014-05-19T15:05:39

Just don't CRLF filter if there are no CRs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/crlf.c b/src/crlf.c
index 22cba84..821e04e 100644
--- a/src/crlf.c
+++ b/src/crlf.c
@@ -138,10 +138,12 @@ static int crlf_apply_to_odb(
 		if (git_buf_text_gather_stats(&stats, from, false))
 			return GIT_PASSTHROUGH;
 
-		/* If safecrlf is enabled, sanity-check the result. */
-		if (stats.cr != stats.crlf ||
-			(stats.crlf > 0 && stats.lf != stats.crlf)) {
+		/* If there are no CR characters to filter out, then just pass */
+		if (!stats.cr)
+			return GIT_PASSTHROUGH;
 
+		/* If safecrlf is enabled, sanity-check the result. */
+		if (stats.cr != stats.crlf || stats.lf != stats.crlf) {
 			switch (ca->safe_crlf) {
 			case GIT_SAFE_CRLF_FAIL:
 				giterr_set(