From 0bef57ee44a2f924ad0066b751a3c87888633f56 Mon Sep 17 00:00:00 2001 From: David Rientjes Date: Tue, 15 Aug 2006 13:37:19 -0700 Subject: [PATCH] make inline is_null_sha1 global Replace sha1 comparisons to null_sha1 with a global inline (which previously an unused static inline in builtin-apply.c) [jc: with a fix from Jonas Fonseca.] Signed-off-by: David Rientjes Signed-off-by: Junio C Hamano --- builtin-apply.c | 7 +------ builtin-diff.c | 3 +-- cache.h | 4 ++++ combine-diff.c | 4 ++-- diff.c | 2 +- fsck-objects.c | 2 +- sha1_name.c | 2 +- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/builtin-apply.c b/builtin-apply.c index 4573c9abb2..1c1d16f756 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -1684,7 +1684,7 @@ static int apply_binary(struct buffer_desc *desc, struct patch *patch) } get_sha1_hex(patch->new_sha1_prefix, sha1); - if (!memcmp(sha1, null_sha1, 20)) { + if (is_null_sha1(sha1)) { free(desc->buffer); desc->alloc = desc->size = 0; desc->buffer = NULL; @@ -1916,11 +1916,6 @@ static int check_patch_list(struct patch *patch) return error; } -static inline int is_null_sha1(const unsigned char *sha1) -{ - return !memcmp(sha1, null_sha1, 20); -} - static void show_index_list(struct patch *list) { struct patch *patch; diff --git a/builtin-diff.c b/builtin-diff.c index 82afce782d..40e5c96f30 100644 --- a/builtin-diff.c +++ b/builtin-diff.c @@ -68,8 +68,7 @@ static void stuff_change(struct diff_options *opt, { struct diff_filespec *one, *two; - if (memcmp(null_sha1, old_sha1, 20) && - memcmp(null_sha1, new_sha1, 20) && + if (!is_null_sha1(old_sha1) && !is_null_sha1(new_sha1) && !memcmp(old_sha1, new_sha1, 20)) return; diff --git a/cache.h b/cache.h index af7740258d..c7382996f6 100644 --- a/cache.h +++ b/cache.h @@ -210,6 +210,10 @@ extern char *sha1_pack_name(const unsigned char *sha1); extern char *sha1_pack_index_name(const unsigned char *sha1); extern const char *find_unique_abbrev(const unsigned char *sha1, int); extern const unsigned char null_sha1[20]; +static inline int is_null_sha1(const unsigned char *sha1) +{ + return !memcmp(sha1, null_sha1, 20); +} int git_mkstemp(char *path, size_t n, const char *template); diff --git a/combine-diff.c b/combine-diff.c index 4c6bfed56e..ce063b4ffa 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -94,7 +94,7 @@ static char *grab_blob(const unsigned char *sha1, unsigned long *size) { char *blob; char type[20]; - if (!memcmp(sha1, null_sha1, 20)) { + if (is_null_sha1(sha1)) { /* deleted blob */ *size = 0; return xcalloc(1, 1); @@ -611,7 +611,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, struct sline *sline; /* survived lines */ int mode_differs = 0; int i, show_hunks; - int working_tree_file = !memcmp(elem->sha1, null_sha1, 20); + int working_tree_file = is_null_sha1(elem->sha1); int abbrev = opt->full_index ? 40 : DEFAULT_ABBREV; mmfile_t result_file; diff --git a/diff.c b/diff.c index 2327e6065b..6a8c0c9c01 100644 --- a/diff.c +++ b/diff.c @@ -1102,7 +1102,7 @@ void fill_filespec(struct diff_filespec *spec, const unsigned char *sha1, if (mode) { spec->mode = canon_mode(mode); memcpy(spec->sha1, sha1, 20); - spec->sha1_valid = !!memcmp(sha1, null_sha1, 20); + spec->sha1_valid = !is_null_sha1(sha1); } } diff --git a/fsck-objects.c b/fsck-objects.c index 4ba3377aef..b0e882a99f 100644 --- a/fsck-objects.c +++ b/fsck-objects.c @@ -452,7 +452,7 @@ static int fsck_head_link(void) if (strncmp(git_refs_heads_master + pfxlen, "refs/heads/", 11)) return error("HEAD points to something strange (%s)", git_refs_heads_master + pfxlen); - if (!memcmp(null_sha1, sha1, 20)) + if (is_null_sha1(sha1)) return error("HEAD: not a valid git pointer"); return 0; } diff --git a/sha1_name.c b/sha1_name.c index c5a05faeb6..f567454d22 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -191,7 +191,7 @@ const char *find_unique_abbrev(const unsigned char *sha1, int len) int status, is_null; static char hex[41]; - is_null = !memcmp(sha1, null_sha1, 20); + is_null = is_null_sha1(sha1); memcpy(hex, sha1_to_hex(sha1), 40); if (len == 40 || !len) return hex;