@@ -953,7 +953,7 @@ struct diffstat_t {
953
953
unsigned is_unmerged :1 ;
954
954
unsigned is_binary :1 ;
955
955
unsigned is_renamed :1 ;
956
- unsigned int added , deleted ;
956
+ uintmax_t added , deleted ;
957
957
} * * files ;
958
958
};
959
959
@@ -1045,7 +1045,7 @@ static void fill_print_name(struct diffstat_file *file)
1045
1045
static void show_stats (struct diffstat_t * data , struct diff_options * options )
1046
1046
{
1047
1047
int i , len , add , del , adds = 0 , dels = 0 ;
1048
- int max_change = 0 , max_len = 0 ;
1048
+ uintmax_t max_change = 0 , max_len = 0 ;
1049
1049
int total_files = data -> nr ;
1050
1050
int width , name_width ;
1051
1051
const char * reset , * set , * add_c , * del_c ;
@@ -1074,7 +1074,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
1074
1074
1075
1075
for (i = 0 ; i < data -> nr ; i ++ ) {
1076
1076
struct diffstat_file * file = data -> files [i ];
1077
- int change = file -> added + file -> deleted ;
1077
+ uintmax_t change = file -> added + file -> deleted ;
1078
1078
fill_print_name (file );
1079
1079
len = strlen (file -> print_name );
1080
1080
if (max_len < len )
@@ -1102,8 +1102,8 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
1102
1102
for (i = 0 ; i < data -> nr ; i ++ ) {
1103
1103
const char * prefix = "" ;
1104
1104
char * name = data -> files [i ]-> print_name ;
1105
- int added = data -> files [i ]-> added ;
1106
- int deleted = data -> files [i ]-> deleted ;
1105
+ uintmax_t added = data -> files [i ]-> added ;
1106
+ uintmax_t deleted = data -> files [i ]-> deleted ;
1107
1107
int name_len ;
1108
1108
1109
1109
/*
@@ -1124,9 +1124,11 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
1124
1124
if (data -> files [i ]-> is_binary ) {
1125
1125
show_name (options -> file , prefix , name , len );
1126
1126
fprintf (options -> file , " Bin " );
1127
- fprintf (options -> file , "%s%d%s" , del_c , deleted , reset );
1127
+ fprintf (options -> file , "%s%" PRIuMAX "%s" ,
1128
+ del_c , deleted , reset );
1128
1129
fprintf (options -> file , " -> " );
1129
- fprintf (options -> file , "%s%d%s" , add_c , added , reset );
1130
+ fprintf (options -> file , "%s%" PRIuMAX "%s" ,
1131
+ add_c , added , reset );
1130
1132
fprintf (options -> file , " bytes" );
1131
1133
fprintf (options -> file , "\n" );
1132
1134
continue ;
@@ -1155,7 +1157,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
1155
1157
del = scale_linear (del , width , max_change );
1156
1158
}
1157
1159
show_name (options -> file , prefix , name , len );
1158
- fprintf (options -> file , "%5d %s" , added + deleted ,
1160
+ fprintf (options -> file , "%5" PRIuMAX " %s" , added + deleted ,
1159
1161
added + deleted ? " " : "" );
1160
1162
show_graph (options -> file , '+' , add , add_c , reset );
1161
1163
show_graph (options -> file , '-' , del , del_c , reset );
@@ -1205,7 +1207,8 @@ static void show_numstat(struct diffstat_t *data, struct diff_options *options)
1205
1207
fprintf (options -> file , "-\t-\t" );
1206
1208
else
1207
1209
fprintf (options -> file ,
1208
- "%d\t%d\t" , file -> added , file -> deleted );
1210
+ "%" PRIuMAX "\t%" PRIuMAX "\t" ,
1211
+ file -> added , file -> deleted );
1209
1212
if (options -> line_termination ) {
1210
1213
fill_print_name (file );
1211
1214
if (!file -> is_renamed )
0 commit comments