for-each-ref: refactor get_short_ref function
commit3d4ecc0e23b2b2f555e7d33b5623fd4e67cc2ac7
authorJeff King <peff@peff.net>
Tue, 7 Apr 2009 07:05:01 +0000 (7 03:05 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Apr 2009 05:06:12 +0000 (7 22:06 -0700)
treea5396d12050e280137d24c286e2471aa0f974f9c
parentfbdc05661d9b732d06c47ccb3d5836d0d1b563e5
for-each-ref: refactor get_short_ref function

This function took a "refinfo" object which is unnecessarily
restrictive; it only ever looked at the refname field. This
patch refactors it to take just the ref name as a string.

While we're touching the relevant lines, let's give it
consistent memory semantics. Previously, some code paths
would return an allocated string and some would return the
original string; now it will always return a malloc'd
string.

This doesn't actually fix a bug or a leak, because
for-each-ref doesn't clean up its memory, but it makes the
function a lot less surprising for reuse (which will
happen in a later patch).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-for-each-ref.c