Browse Source

ls-files: factor out tag calculation

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Brandon Williams 8 years ago committed by Junio C Hamano
parent
commit
a84f3e59eb
  1. 41
      builtin/ls-files.c

41
builtin/ls-files.c

@ -93,6 +93,30 @@ static void write_name(const char *name) @@ -93,6 +93,30 @@ static void write_name(const char *name)
strbuf_release(&full_name);
}

static const char *get_tag(const struct cache_entry *ce, const char *tag)
{
static char alttag[4];

if (tag && *tag && show_valid_bit && (ce->ce_flags & CE_VALID)) {
memcpy(alttag, tag, 3);

if (isalpha(tag[0])) {
alttag[0] = tolower(tag[0]);
} else if (tag[0] == '?') {
alttag[0] = '!';
} else {
alttag[0] = 'v';
alttag[1] = tag[0];
alttag[2] = ' ';
alttag[3] = 0;
}

tag = alttag;
}

return tag;
}

static void print_debug(const struct cache_entry *ce)
{
if (debug_mode) {
@ -264,22 +288,7 @@ static void show_ce_entry(const struct index_state *istate, @@ -264,22 +288,7 @@ static void show_ce_entry(const struct index_state *istate,
len, ps_matched,
S_ISDIR(ce->ce_mode) ||
S_ISGITLINK(ce->ce_mode))) {
if (tag && *tag && show_valid_bit &&
(ce->ce_flags & CE_VALID)) {
static char alttag[4];
memcpy(alttag, tag, 3);
if (isalpha(tag[0]))
alttag[0] = tolower(tag[0]);
else if (tag[0] == '?')
alttag[0] = '!';
else {
alttag[0] = 'v';
alttag[1] = tag[0];
alttag[2] = ' ';
alttag[3] = 0;
}
tag = alttag;
}
tag = get_tag(ce, tag);

if (!show_stage) {
fputs(tag, stdout);

Loading…
Cancel
Save