Use starts_with() for C strings instead of memcmp()

Convert three cases of checking for a constant prefix using memcmp() to
starts_with().  This way there is no need for magic string length
constants and we avoid running over the end of the string should it be
shorter than the prefix.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2014-06-06 19:24:48 +02:00 коммит произвёл Junio C Hamano
Родитель bce14aa132
Коммит 50e19a8358
3 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -193,7 +193,7 @@ static int verify_format(const char *format)
at = parse_atom(sp + 2, ep);
cp = ep + 1;
if (!memcmp(used_atom[at], "color:", 6))
if (starts_with(used_atom[at], "color:"))
need_color_reset_at_eol = !!strcmp(used_atom[at], color_reset);
}
return 0;

Просмотреть файл

@ -507,7 +507,7 @@ static void filter_refs(struct fetch_pack_args *args,
int keep = 0;
next = ref->next;
if (!memcmp(ref->name, "refs/", 5) &&
if (starts_with(ref->name, "refs/") &&
check_refname_format(ref->name, 0))
; /* trash */
else {

Просмотреть файл

@ -1194,7 +1194,7 @@ static int match_explicit(struct ref *src, struct ref *dst,
case 1:
break;
case 0:
if (!memcmp(dst_value, "refs/", 5))
if (starts_with(dst_value, "refs/"))
matched_dst = make_linked_ref(dst_value, dst_tail);
else if (is_null_sha1(matched_src->new_sha1))
error("unable to delete '%s': remote ref does not exist",