File tree 1 file changed +14
-13
lines changed
1 file changed +14
-13
lines changed Original file line number Diff line number Diff line change @@ -193,28 +193,29 @@ static const char *line_ending(struct crlf_attrs *ca)
193
193
case GIT_CRLF_CRLF :
194
194
return "\r\n" ;
195
195
196
+ case GIT_CRLF_GUESS :
197
+ if (ca -> auto_crlf == GIT_AUTO_CRLF_FALSE )
198
+ return "\n" ;
199
+ break ;
200
+
196
201
case GIT_CRLF_AUTO :
197
202
case GIT_CRLF_TEXT :
198
- case GIT_CRLF_GUESS :
199
203
break ;
200
204
201
205
default :
202
206
goto line_ending_error ;
203
207
}
204
208
205
- switch (ca -> eol ) {
206
- case GIT_EOL_UNSET :
207
- return GIT_EOL_NATIVE == GIT_EOL_CRLF ? "\r\n" : "\n" ;
208
-
209
- case GIT_EOL_CRLF :
209
+ if (ca -> auto_crlf == GIT_AUTO_CRLF_TRUE )
210
210
return "\r\n" ;
211
-
212
- case GIT_EOL_LF :
211
+ else if (ca -> auto_crlf == GIT_AUTO_CRLF_INPUT )
213
212
return "\n" ;
214
-
215
- default :
216
- goto line_ending_error ;
217
- }
213
+ else if (ca -> eol == GIT_EOL_UNSET )
214
+ return GIT_EOL_NATIVE == GIT_EOL_CRLF ? "\r\n" : "\n" ;
215
+ else if (ca -> eol == GIT_EOL_LF )
216
+ return "\n" ;
217
+ else if (ca -> eol == GIT_EOL_CRLF )
218
+ return "\r\n" ;
218
219
219
220
line_ending_error :
220
221
giterr_set (GITERR_INVALID , "Invalid input to line ending filter" );
@@ -299,7 +300,7 @@ static int crlf_check(
299
300
return GIT_PASSTHROUGH ;
300
301
301
302
if (ca .crlf_action == GIT_CRLF_GUESS ||
302
- (ca .crlf_action == GIT_CRLF_AUTO &&
303
+ (( ca .crlf_action == GIT_CRLF_AUTO || ca . crlf_action == GIT_CRLF_TEXT ) &&
303
304
git_filter_source_mode (src ) == GIT_FILTER_SMUDGE )) {
304
305
305
306
error = git_repository__cvar (
You can’t perform that action at this time.
0 commit comments