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
}