Skip to content

Commit c5f7b2a

Browse files
committed
Merge branch 'rs/size-t-fixes'
Type fixes. * rs/size-t-fixes: pack-objects: use strcspn(3) in name_cmp_len() read-cache: use size_t for {base,df}_name_compare()
2 parents 063ec7b + e65b868 commit c5f7b2a

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

builtin/pack-objects.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1710,17 +1710,14 @@ static void pbase_tree_put(struct pbase_tree_cache *cache)
17101710
free(cache);
17111711
}
17121712

1713-
static int name_cmp_len(const char *name)
1713+
static size_t name_cmp_len(const char *name)
17141714
{
1715-
int i;
1716-
for (i = 0; name[i] && name[i] != '\n' && name[i] != '/'; i++)
1717-
;
1718-
return i;
1715+
return strcspn(name, "\n/");
17191716
}
17201717

17211718
static void add_pbase_object(struct tree_desc *tree,
17221719
const char *name,
1723-
int cmplen,
1720+
size_t cmplen,
17241721
const char *fullname)
17251722
{
17261723
struct name_entry entry;
@@ -1745,7 +1742,7 @@ static void add_pbase_object(struct tree_desc *tree,
17451742
struct tree_desc sub;
17461743
struct pbase_tree_cache *tree;
17471744
const char *down = name+cmplen+1;
1748-
int downlen = name_cmp_len(down);
1745+
size_t downlen = name_cmp_len(down);
17491746

17501747
tree = pbase_tree_get(&entry.oid);
17511748
if (!tree)
@@ -1797,7 +1794,7 @@ static int check_pbase_path(unsigned hash)
17971794
static void add_preferred_base_object(const char *name)
17981795
{
17991796
struct pbase_tree *it;
1800-
int cmplen;
1797+
size_t cmplen;
18011798
unsigned hash = pack_name_hash(name);
18021799

18031800
if (!num_preferred_base || check_pbase_path(hash))

cache.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,8 +1623,10 @@ int repo_interpret_branch_name(struct repository *r,
16231623

16241624
int validate_headref(const char *ref);
16251625

1626-
int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
1627-
int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
1626+
int base_name_compare(const char *name1, size_t len1, int mode1,
1627+
const char *name2, size_t len2, int mode2);
1628+
int df_name_compare(const char *name1, size_t len1, int mode1,
1629+
const char *name2, size_t len2, int mode2);
16281630
int name_compare(const char *name1, size_t len1, const char *name2, size_t len2);
16291631
int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2);
16301632

read-cache.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,11 @@ int ie_modified(struct index_state *istate,
488488
return 0;
489489
}
490490

491-
int base_name_compare(const char *name1, int len1, int mode1,
492-
const char *name2, int len2, int mode2)
491+
int base_name_compare(const char *name1, size_t len1, int mode1,
492+
const char *name2, size_t len2, int mode2)
493493
{
494494
unsigned char c1, c2;
495-
int len = len1 < len2 ? len1 : len2;
495+
size_t len = len1 < len2 ? len1 : len2;
496496
int cmp;
497497

498498
cmp = memcmp(name1, name2, len);
@@ -517,11 +517,12 @@ int base_name_compare(const char *name1, int len1, int mode1,
517517
* This is used by routines that want to traverse the git namespace
518518
* but then handle conflicting entries together when possible.
519519
*/
520-
int df_name_compare(const char *name1, int len1, int mode1,
521-
const char *name2, int len2, int mode2)
520+
int df_name_compare(const char *name1, size_t len1, int mode1,
521+
const char *name2, size_t len2, int mode2)
522522
{
523-
int len = len1 < len2 ? len1 : len2, cmp;
524523
unsigned char c1, c2;
524+
size_t len = len1 < len2 ? len1 : len2;
525+
int cmp;
525526

526527
cmp = memcmp(name1, name2, len);
527528
if (cmp)

0 commit comments

Comments
 (0)