@@ -1225,28 +1225,34 @@ void diff_flush(struct diff_options *options)
12251225
12261226 for (i = 0 ; i < q -> nr ; i ++ ) {
12271227 struct diff_filepair * p = q -> queue [i ];
1228- if ((diff_output_format == DIFF_FORMAT_NO_OUTPUT ) ||
1229- (p -> status == DIFF_STATUS_UNKNOWN ))
1230- continue ;
1231- if (p -> status == 0 )
1232- die ("internal error in diff-resolve-rename-copy" );
1233- switch (diff_output_format ) {
1234- case DIFF_FORMAT_PATCH :
1235- diff_flush_patch (p , options );
1236- break ;
1237- case DIFF_FORMAT_RAW :
1238- case DIFF_FORMAT_NAME_STATUS :
1239- diff_flush_raw (p , line_termination ,
1240- inter_name_termination ,
1241- options );
1228+
1229+ switch (p -> status ) {
1230+ case DIFF_STATUS_UNKNOWN :
12421231 break ;
1243- case DIFF_FORMAT_NAME :
1244- diff_flush_name (p ,
1245- inter_name_termination ,
1246- line_termination );
1232+ case 0 :
1233+ die ("internal error in diff-resolve-rename-copy" );
12471234 break ;
1235+ default :
1236+ switch (diff_output_format ) {
1237+ case DIFF_FORMAT_PATCH :
1238+ diff_flush_patch (p , options );
1239+ break ;
1240+ case DIFF_FORMAT_RAW :
1241+ case DIFF_FORMAT_NAME_STATUS :
1242+ diff_flush_raw (p , line_termination ,
1243+ inter_name_termination ,
1244+ options );
1245+ break ;
1246+ case DIFF_FORMAT_NAME :
1247+ diff_flush_name (p ,
1248+ inter_name_termination ,
1249+ line_termination );
1250+ break ;
1251+ case DIFF_FORMAT_NO_OUTPUT :
1252+ break ;
1253+ }
12481254 }
1249- diff_free_filepair (q -> queue [ i ] );
1255+ diff_free_filepair (p );
12501256 }
12511257 free (q -> queue );
12521258 q -> queue = NULL ;
0 commit comments