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>

Junio C Hamano committed Jun 18, 2012 at 11:32 UTC 37c00e5590605c9d3ba76b6c9d7a94ac0356f703
2 files changed +6 -3
cache.h
+2
@@ -811,6 +811,8 @@ struct object_context {
811 unsigned mode;
812 };
813
814 +#define GET_SHA1_QUIETLY 01
815 +
816 extern int get_sha1(const char *str, unsigned char *sha1);
817 extern void maybe_die_on_misspelt_object_name(const char *name, const char *prefix);
818 extern int get_sha1_with_context(const char *str, unsigned char *sha1, struct object_context *orc);
sha1_name.c
+4 -3
@@ -219,12 +219,13 @@ static int finish_object_disambiguation(struct disambiguate_state *ds,
219 }
220
221 static int get_short_sha1(const char *name, int len, unsigned char *sha1,
222 - int quietly)
222 + unsigned flags)
223 {
224 int i, status;
225 char hex_pfx[40];
226 unsigned char bin_pfx[20];
227 struct disambiguate_state ds;
228 + int quietly = !!(flags & GET_SHA1_QUIETLY);
229
230 if (len < MINIMUM_ABBREV || len > 40)
231 return -1;
@@ -272,7 +273,7 @@ const char *find_unique_abbrev(const unsigned char *sha1, int len)
273 return hex;
274 while (len < 40) {
275 unsigned char sha1_ret[20];
275 - status = get_short_sha1(hex, len, sha1_ret, 1);
276 + status = get_short_sha1(hex, len, sha1_ret, GET_SHA1_QUIETLY);
277 if (exists
278 ? !status
279 : status == SHORT_NAME_NOT_FOUND) {
@@ -603,7 +604,7 @@ static int get_describe_name(const char *name, int len, unsigned char *sha1)
604 if (ch == 'g' && cp[-1] == '-') {
605 cp++;
606 len -= cp - name;
606 - return get_short_sha1(cp, len, sha1, 1);
607 + return get_short_sha1(cp, len, sha1, GET_SHA1_QUIETLY);
608 }
609 }
610 }