@@ -949,7 +949,7 @@ struct diffstat_t {
949949 unsigned is_unmerged :1 ;
950950 unsigned is_binary :1 ;
951951 unsigned is_renamed :1 ;
952- unsigned int added , deleted ;
952+ uintmax_t added , deleted ;
953953 } * * files ;
954954};
955955
@@ -1041,7 +1041,7 @@ static void fill_print_name(struct diffstat_file *file)
10411041static void show_stats (struct diffstat_t * data , struct diff_options * options )
10421042{
10431043 int i , len , add , del , adds = 0 , dels = 0 ;
1044- int max_change = 0 , max_len = 0 ;
1044+ uintmax_t max_change = 0 , max_len = 0 ;
10451045 int total_files = data -> nr ;
10461046 int width , name_width ;
10471047 const char * reset , * set , * add_c , * del_c ;
@@ -1070,7 +1070,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
10701070
10711071 for (i = 0 ; i < data -> nr ; i ++ ) {
10721072 struct diffstat_file * file = data -> files [i ];
1073- int change = file -> added + file -> deleted ;
1073+ uintmax_t change = file -> added + file -> deleted ;
10741074 fill_print_name (file );
10751075 len = strlen (file -> print_name );
10761076 if (max_len < len )
@@ -1098,8 +1098,8 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
10981098 for (i = 0 ; i < data -> nr ; i ++ ) {
10991099 const char * prefix = "" ;
11001100 char * name = data -> files [i ]-> print_name ;
1101- int added = data -> files [i ]-> added ;
1102- int deleted = data -> files [i ]-> deleted ;
1101+ uintmax_t added = data -> files [i ]-> added ;
1102+ uintmax_t deleted = data -> files [i ]-> deleted ;
11031103 int name_len ;
11041104
11051105 /*
@@ -1120,9 +1120,11 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
11201120 if (data -> files [i ]-> is_binary ) {
11211121 show_name (options -> file , prefix , name , len );
11221122 fprintf (options -> file , " Bin " );
1123- fprintf (options -> file , "%s%d%s" , del_c , deleted , reset );
1123+ fprintf (options -> file , "%s%" PRIuMAX "%s" ,
1124+ del_c , deleted , reset );
11241125 fprintf (options -> file , " -> " );
1125- fprintf (options -> file , "%s%d%s" , add_c , added , reset );
1126+ fprintf (options -> file , "%s%" PRIuMAX "%s" ,
1127+ add_c , added , reset );
11261128 fprintf (options -> file , " bytes" );
11271129 fprintf (options -> file , "\n" );
11281130 continue ;
@@ -1151,7 +1153,7 @@ static void show_stats(struct diffstat_t *data, struct diff_options *options)
11511153 del = scale_linear (del , width , max_change );
11521154 }
11531155 show_name (options -> file , prefix , name , len );
1154- fprintf (options -> file , "%5d %s" , added + deleted ,
1156+ fprintf (options -> file , "%5" PRIuMAX " %s" , added + deleted ,
11551157 added + deleted ? " " : "" );
11561158 show_graph (options -> file , '+' , add , add_c , reset );
11571159 show_graph (options -> file , '-' , del , del_c , reset );
@@ -1201,7 +1203,8 @@ static void show_numstat(struct diffstat_t *data, struct diff_options *options)
12011203 fprintf (options -> file , "-\t-\t" );
12021204 else
12031205 fprintf (options -> file ,
1204- "%d\t%d\t" , file -> added , file -> deleted );
1206+ "%" PRIuMAX "\t%" PRIuMAX "\t" ,
1207+ file -> added , file -> deleted );
12051208 if (options -> line_termination ) {
12061209 fill_print_name (file );
12071210 if (!file -> is_renamed )
0 commit comments