mirror of
https://github.com/git/git.git
synced 2024-11-27 12:03:55 +08:00
refs: use strncmp() instead of strlen() and memcmp()
Simplify ref_entry_cmp_sslice() by using strncmp() to compare the length-limited key and a NUL-terminated entry. While we're at it, retain the const attribute of the input pointers. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e1980c9d23
commit
c971ddfdcd
10
refs.c
10
refs.c
@ -322,14 +322,12 @@ struct string_slice {
|
||||
|
||||
static int ref_entry_cmp_sslice(const void *key_, const void *ent_)
|
||||
{
|
||||
struct string_slice *key = (struct string_slice *)key_;
|
||||
struct ref_entry *ent = *(struct ref_entry **)ent_;
|
||||
int entlen = strlen(ent->name);
|
||||
int cmplen = key->len < entlen ? key->len : entlen;
|
||||
int cmp = memcmp(key->str, ent->name, cmplen);
|
||||
const struct string_slice *key = key_;
|
||||
const struct ref_entry *ent = *(const struct ref_entry * const *)ent_;
|
||||
int cmp = strncmp(key->str, ent->name, key->len);
|
||||
if (cmp)
|
||||
return cmp;
|
||||
return key->len - entlen;
|
||||
return '\0' - (unsigned char)ent->name[key->len];
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user