git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/4] index-pack: a miniscule refactor

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 3, 2011, 22:32 UTC
Message-ID
<1307140337-27676-2-git-send-email-gitster@pobox.com>
In-Reply-To
<1307140337-27676-1-git-send-email-gitster@pobox.com>

Introduce a helper function that takes the type of an object and tell if it is a delta, as we seem to use this check in many places.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/index-pack.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 513fbbc..0216af7 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -498,12 +498,17 @@ static void sha1_object(const void *data, unsigned long size,
 	}
 }
 
+static int is_delta_type(enum object_type type)
+{
+	return (type == OBJ_REF_DELTA || type == OBJ_OFS_DELTA);
+}
+
 static void *get_base_data(struct base_data *c)
 {
 	if (!c->data) {
 		struct object_entry *obj = c->obj;
 
-		if (obj->type == OBJ_REF_DELTA || obj->type == OBJ_OFS_DELTA) {
+		if (is_delta_type(obj->type)) {
 			void *base = get_base_data(c->base);
 			void *raw = get_data_from_pack(obj);
 			c->data = patch_delta(
@@ -629,7 +634,7 @@ static void parse_pack_objects(unsigned char *sha1)
 		struct object_entry *obj = &objects[i];
 		void *data = unpack_raw_entry(obj, &delta->base);
 		obj->real_type = obj->type;
-		if (obj->type == OBJ_REF_DELTA || obj->type == OBJ_OFS_DELTA) {
+		if (is_delta_type(obj->type)) {
 			nr_deltas++;
 			delta->obj_no = i;
 			delta++;
@@ -676,7 +681,7 @@ static void parse_pack_objects(unsigned char *sha1)
 		struct object_entry *obj = &objects[i];
 		struct base_data base_obj;
 
-		if (obj->type == OBJ_REF_DELTA || obj->type == OBJ_OFS_DELTA)
+		if (is_delta_type(obj->type))
 			continue;
 		base_obj.obj = obj;
 		base_obj.data = NULL;
-- 
1.7.6.rc0.106.g68174
Previous: Junio C HamanoNext: Junio C Hamano
Message 2 of 5 in “index-pack (continued)”
  1. 0/4 index-pack (continued)Junio C Hamano, Jun 3, 2011
  2. 1/4 index-pack: a miniscule refactorJunio C Hamano, Jun 3, 2011
  3. 2/4 index-pack: start learning to emulate "verify-pack -v"Junio C Hamano, Jun 3, 2011
  4. 3/4 index-pack: show histogram when emulating "verify-pack -v"Junio C Hamano, Jun 3, 2011
  5. 4/4 verify-pack: use index-pack --verifyJunio C Hamano, Jun 3, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.