File tree 1 file changed +9
-7
lines changed
1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -947,18 +947,20 @@ int git_filter_list_stream_data(
947
947
{
948
948
git_vector filter_streams = GIT_VECTOR_INIT ;
949
949
git_writestream * stream_start ;
950
- int error = 0 ;
950
+ int error = 0 , close_error ;
951
951
952
952
git_buf_sanitize (data );
953
953
954
- if ((error = stream_list_init (
955
- & stream_start , & filter_streams , filters , target )) == 0 &&
956
- (error =
957
- stream_start -> write (stream_start , data -> ptr , data -> size )) == 0 )
958
- error = stream_start -> close (stream_start );
954
+ if ((error = stream_list_init (& stream_start , & filter_streams , filters , target )) < 0 )
955
+ goto out ;
959
956
957
+ error = stream_start -> write (stream_start , data -> ptr , data -> size );
958
+
959
+ out :
960
+ close_error = stream_start -> close (stream_start );
960
961
stream_list_free (& filter_streams );
961
- return error ;
962
+ /* propagate the stream init or write error */
963
+ return error < 0 ? error : close_error ;
962
964
}
963
965
964
966
int git_filter_list_stream_blob (
You can’t perform that action at this time.
0 commit comments