Skip to content

Commit 1b4a38d

Browse files
rscharfegitster
authored andcommitted
read-cache: use size_t for {base,df}_name_compare()
Support names of any length in base_name_compare() and df_name_compare() by using size_t for their length parameters. They pass the length on to memcmp(3), which also takes it as a size_t. Signed-off-by: René Scharfe <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 844ede3 commit 1b4a38d

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

cache.h

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

16101610
int validate_headref(const char *ref);
16111611

1612-
int base_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
1613-
int df_name_compare(const char *name1, int len1, int mode1, const char *name2, int len2, int mode2);
1612+
int base_name_compare(const char *name1, size_t len1, int mode1,
1613+
const char *name2, size_t len2, int mode2);
1614+
int df_name_compare(const char *name1, size_t len1, int mode1,
1615+
const char *name2, size_t len2, int mode2);
16141616
int name_compare(const char *name1, size_t len1, const char *name2, size_t len2);
16151617
int cache_name_stage_compare(const char *name1, int len1, int stage1, const char *name2, int len2, int stage2);
16161618

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)