66 */
77
88#define USE_THE_REPOSITORY_VARIABLE
9- #define DISABLE_SIGN_COMPARE_WARNINGS
109
1110#include "builtin.h"
1211#include "abspath.h"
@@ -209,7 +208,6 @@ static void cmd_log_init_defaults(struct rev_info *rev,
209208
210209static void set_default_decoration_filter (struct decoration_filter * decoration_filter )
211210{
212- int i ;
213211 char * value = NULL ;
214212 struct string_list * include = decoration_filter -> include_ref_pattern ;
215213 const struct string_list * config_exclude ;
@@ -243,7 +241,7 @@ static void set_default_decoration_filter(struct decoration_filter *decoration_f
243241 * No command-line or config options were given, so
244242 * populate with sensible defaults.
245243 */
246- for (i = 0 ; i < ARRAY_SIZE (ref_namespace ); i ++ ) {
244+ for (size_t i = 0 ; i < ARRAY_SIZE (ref_namespace ); i ++ ) {
247245 if (!ref_namespace [i ].decoration )
248246 continue ;
249247
@@ -717,14 +715,14 @@ static int show_tag_object(const struct object_id *oid, struct rev_info *rev)
717715 unsigned long size ;
718716 enum object_type type ;
719717 char * buf = repo_read_object_file (the_repository , oid , & type , & size );
720- int offset = 0 ;
718+ unsigned long offset = 0 ;
721719
722720 if (!buf )
723721 return error (_ ("could not read object %s" ), oid_to_hex (oid ));
724722
725723 assert (type == OBJ_TAG );
726724 while (offset < size && buf [offset ] != '\n' ) {
727- int new_offset = offset + 1 ;
725+ unsigned long new_offset = offset + 1 ;
728726 const char * ident ;
729727 while (new_offset < size && buf [new_offset ++ ] != '\n' )
730728 ; /* do nothing */
@@ -1316,24 +1314,25 @@ static void print_signature(const char *signature, FILE *file)
13161314
13171315static char * find_branch_name (struct rev_info * rev )
13181316{
1319- int i , positive = -1 ;
13201317 struct object_id branch_oid ;
13211318 const struct object_id * tip_oid ;
13221319 const char * ref , * v ;
13231320 char * full_ref , * branch = NULL ;
1321+ int interesting_found = 0 ;
1322+ size_t idx ;
13241323
1325- for (i = 0 ; i < rev -> cmdline .nr ; i ++ ) {
1324+ for (size_t i = 0 ; i < rev -> cmdline .nr ; i ++ ) {
13261325 if (rev -> cmdline .rev [i ].flags & UNINTERESTING )
13271326 continue ;
1328- if (positive < 0 )
1329- positive = i ;
1330- else
1327+ if (interesting_found )
13311328 return NULL ;
1329+ interesting_found = 1 ;
1330+ idx = i ;
13321331 }
1333- if (positive < 0 )
1332+ if (! interesting_found )
13341333 return NULL ;
1335- ref = rev -> cmdline .rev [positive ].name ;
1336- tip_oid = & rev -> cmdline .rev [positive ].item -> oid ;
1334+ ref = rev -> cmdline .rev [idx ].name ;
1335+ tip_oid = & rev -> cmdline .rev [idx ].item -> oid ;
13371336 if (repo_dwim_ref (the_repository , ref , strlen (ref ), & branch_oid ,
13381337 & full_ref , 0 ) &&
13391338 skip_prefix (full_ref , "refs/heads/" , & v ) &&
@@ -1746,11 +1745,12 @@ struct base_tree_info {
17461745
17471746static struct commit * get_base_commit (const struct format_config * cfg ,
17481747 struct commit * * list ,
1749- int total )
1748+ size_t total )
17501749{
17511750 struct commit * base = NULL ;
17521751 struct commit * * rev ;
1753- int i = 0 , rev_nr = 0 , auto_select , die_on_failure , ret ;
1752+ int auto_select , die_on_failure , ret ;
1753+ size_t i = 0 , rev_nr = 0 ;
17541754
17551755 switch (cfg -> auto_base ) {
17561756 case AUTO_BASE_NEVER :
@@ -1885,13 +1885,12 @@ define_commit_slab(commit_base, int);
18851885static void prepare_bases (struct base_tree_info * bases ,
18861886 struct commit * base ,
18871887 struct commit * * list ,
1888- int total )
1888+ size_t total )
18891889{
18901890 struct commit * commit ;
18911891 struct rev_info revs ;
18921892 struct diff_options diffopt ;
18931893 struct commit_base commit_base ;
1894- int i ;
18951894
18961895 if (!base )
18971896 return ;
@@ -1906,7 +1905,7 @@ static void prepare_bases(struct base_tree_info *bases,
19061905 repo_init_revisions (the_repository , & revs , NULL );
19071906 revs .max_parents = 1 ;
19081907 revs .topo_order = 1 ;
1909- for (i = 0 ; i < total ; i ++ ) {
1908+ for (size_t i = 0 ; i < total ; i ++ ) {
19101909 list [i ]-> object .flags &= ~UNINTERESTING ;
19111910 add_pending_object (& revs , & list [i ]-> object , "rev_list" );
19121911 * commit_base_at (& commit_base , list [i ]) = 1 ;
@@ -2007,7 +2006,7 @@ int cmd_format_patch(int argc,
20072006 struct rev_info rev ;
20082007 char * to_free = NULL ;
20092008 struct setup_revision_opt s_r_opt ;
2010- int nr = 0 , total , i ;
2009+ size_t nr = 0 , total , i ;
20112010 int use_stdout = 0 ;
20122011 int start_number = -1 ;
20132012 int just_numbers = 0 ;
@@ -2183,7 +2182,7 @@ int cmd_format_patch(int argc,
21832182 fmt_patch_suffix = cfg .fmt_patch_suffix ;
21842183
21852184 /* Make sure "0000-$sub.patch" gives non-negative length for $sub */
2186- if (cfg .log .fmt_patch_name_max <= strlen ("0000-" ) + strlen (fmt_patch_suffix ))
2185+ if (cfg .log .fmt_patch_name_max <= cast_size_t_to_int ( strlen ("0000-" ) + strlen (fmt_patch_suffix ) ))
21872186 cfg .log .fmt_patch_name_max = strlen ("0000-" ) + strlen (fmt_patch_suffix );
21882187
21892188 if (cover_from_description_arg )
@@ -2500,11 +2499,14 @@ int cmd_format_patch(int argc,
25002499
25012500 if (show_progress )
25022501 progress = start_delayed_progress (_ ("Generating patches" ), total );
2503- while (0 <= -- nr ) {
2502+ for (i = 0 ; i < nr ; i ++ ) {
2503+ size_t idx = nr - i - 1 ;
25042504 int shown ;
2505- display_progress (progress , total - nr );
2506- commit = list [nr ];
2507- rev .nr = total - nr + (start_number - 1 );
2505+
2506+ display_progress (progress , total - idx );
2507+ commit = list [idx ];
2508+ rev .nr = total - idx + (start_number - 1 );
2509+
25082510 /* Make the second and subsequent mails replies to the first */
25092511 if (cfg .thread ) {
25102512 /* Have we already had a message ID? */
0 commit comments