summaryrefslogtreecommitdiff
path: root/sha1_name.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-06-18 11:32:03 -0700
committerJunio C Hamano <gitster@pobox.com>2012-07-03 11:17:59 -0700
commit37c00e5590605c9d3ba76b6c9d7a94ac0356f703 (patch)
tree39e7f67e8b6b8a7a5a4b576c0c923f2cfd348ed9 /sha1_name.c
parentc005e98612c3ba896415cfa56df67ae8b240cc85 (diff)
downloadgit-37c00e5590605c9d3ba76b6c9d7a94ac0356f703.tar.gz
sha1_name.c: allow get_short_sha1() to take other flags
Instead of a separate "int quietly" argument, make it take "unsigned flags" so that we can pass other options to it. The bit assignment of this flag word is exposed in cache.h because the mechanism will be exposed to callers of the higher layer in later commits in this series. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_name.c')
-rw-r--r--sha1_name.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sha1_name.c b/sha1_name.c
index c824bdd3eb..793d80cbf9 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -219,12 +219,13 @@ static int finish_object_disambiguation(struct disambiguate_state *ds,
}
static int get_short_sha1(const char *name, int len, unsigned char *sha1,
- int quietly)
+ unsigned flags)
{
int i, status;
char hex_pfx[40];
unsigned char bin_pfx[20];
struct disambiguate_state ds;
+ int quietly = !!(flags & GET_SHA1_QUIETLY);
if (len < MINIMUM_ABBREV || len > 40)
return -1;
@@ -272,7 +273,7 @@ const char *find_unique_abbrev(const unsigned char *sha1, int len)
return hex;
while (len < 40) {
unsigned char sha1_ret[20];
- status = get_short_sha1(hex, len, sha1_ret, 1);
+ status = get_short_sha1(hex, len, sha1_ret, GET_SHA1_QUIETLY);
if (exists
? !status
: status == SHORT_NAME_NOT_FOUND) {
@@ -603,7 +604,7 @@ static int get_describe_name(const char *name, int len, unsigned char *sha1)
if (ch == 'g' && cp[-1] == '-') {
cp++;
len -= cp - name;
- return get_short_sha1(cp, len, sha1, 1);
+ return get_short_sha1(cp, len, sha1, GET_SHA1_QUIETLY);
}
}
}