Skip to content

Commit

Permalink
abbrev cleanup: use symbolic constants
Browse files Browse the repository at this point in the history
The minimum length of abbreviated object name was hardcoded in
different places to be 4, risking inconsistencies in the future.
Also there were three different "default abbreviation
precision".  Use two C preprocessor symbols to clean up this
mess.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Jan 28, 2006
1 parent 6b94f1e commit 46a6c26
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 8 deletions.
3 changes: 3 additions & 0 deletions cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,9 @@ extern int has_pack_file(const unsigned char *sha1);
extern int has_pack_index(const unsigned char *sha1);

/* Convert to/from hex/sha1 representation */
#define MINIMUM_ABBREV 4
#define DEFAULT_ABBREV 7

extern int get_sha1(const char *str, unsigned char *sha1);
extern int get_sha1_hex(const char *hex, unsigned char *sha1);
extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */
Expand Down
3 changes: 1 addition & 2 deletions describe.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ static const char describe_usage[] =
static int all = 0; /* Default to annotated tags only */
static int tags = 0; /* But allow any tags if --tags is specified */

#define DEFAULT_ABBREV 8 /* maybe too many */
static int abbrev = DEFAULT_ABBREV;

static int names = 0, allocs = 0;
Expand Down Expand Up @@ -155,7 +154,7 @@ int main(int argc, char **argv)
tags = 1;
else if (!strncmp(arg, "--abbrev=", 9)) {
abbrev = strtoul(arg + 9, NULL, 10);
if (abbrev < 4 || 40 <= abbrev)
if (abbrev < MINIMUM_ABBREV || 40 <= abbrev)
abbrev = DEFAULT_ABBREV;
}
else
Expand Down
4 changes: 2 additions & 2 deletions diff.c
Original file line number Diff line number Diff line change
Expand Up @@ -723,7 +723,7 @@ static void run_diff(struct diff_filepair *p, struct diff_options *o)

if (memcmp(one->sha1, two->sha1, 20)) {
char one_sha1[41];
int abbrev = o->full_index ? 40 : DIFF_DEFAULT_INDEX_ABBREV;
int abbrev = o->full_index ? 40 : DEFAULT_ABBREV;
memcpy(one_sha1, sha1_to_hex(one->sha1), 41);

len += snprintf(msg + len, sizeof(msg) - len,
Expand Down Expand Up @@ -846,7 +846,7 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac)
else if (!strcmp(arg, "--find-copies-harder"))
options->find_copies_harder = 1;
else if (!strcmp(arg, "--abbrev"))
options->abbrev = DIFF_DEFAULT_ABBREV;
options->abbrev = DEFAULT_ABBREV;
else if (!strncmp(arg, "--abbrev=", 9))
options->abbrev = strtoul(arg + 9, NULL, 10);
else
Expand Down
3 changes: 0 additions & 3 deletions diff.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,6 @@ extern int diff_setup_done(struct diff_options *);

#define DIFF_PICKAXE_ALL 1

#define DIFF_DEFAULT_INDEX_ABBREV 7 /* hex digits */
#define DIFF_DEFAULT_ABBREV 7 /* hex digits */

extern void diffcore_std(struct diff_options *);

extern void diffcore_std_no_resolve(struct diff_options *);
Expand Down
2 changes: 1 addition & 1 deletion sha1_name.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ static int get_short_sha1(const char *name, int len, unsigned char *sha1,
char canonical[40];
unsigned char res[20];

if (len < 4)
if (len < MINIMUM_ABBREV)
return -1;
memset(res, 0, 20);
memset(canonical, 'x', 40);
Expand Down

0 comments on commit 46a6c26

Please sign in to comment.