check-ref-format --branch: strip refs/heads/ using skip_prefix
commit7ccc94ff4590cd035b7f78dfd9debbd7e692f3e6
authorJunio C Hamano <gitster@pobox.com>
Tue, 17 Oct 2017 07:10:00 +0000 (17 00:10 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Oct 2017 21:12:01 +0000 (18 06:12 +0900)
treebcfd7998cec2c940276f4f8216c9fd490d6cfc19
parent7c3f847aad79f847e3b786e1bb56361af3f61a69
check-ref-format --branch: strip refs/heads/ using skip_prefix

The expansion returned from strbuf_check_branch_ref always starts with
"refs/heads/" by construction, but there is nothing about its name or
advertised API making that obvious.  This command is used to process
human-supplied input from the command line and is usually not the
inner loop, so we can spare some cycles to be more defensive.  Instead
of hard-coding the offset strlen("refs/heads/") to skip, verify that
the expansion actually starts with refs/heads/.

[jn: split out from a larger patch, added explanation]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/check-ref-format.c