From af71c38adeb9163d1cf73caf6f1f51e13dc54f58 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 25 Jun 2008 00:01:48 -0400 Subject: [PATCH] Reuse the magic tOc constant for pack index headers We need this constant to detect version 2 index files at read time, but we also need it to create version 2 index files. Signed-off-by: Shawn O. Pearce Signed-off-by: Robin Rosenberg --- org.spearce.jgit/src/org/spearce/jgit/lib/PackIndex.java | 6 +++++- org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndex.java b/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndex.java index 3935d4f8..c5718fae 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndex.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndex.java @@ -104,7 +104,11 @@ public abstract class PackIndex implements Iterable { } private static boolean isTOC(final byte[] h) { - return h[0] == -1 && h[1] == 't' && h[2] == 'O' && h[3] == 'c'; + final byte[] toc = PackIndexWriter.TOC; + for (int i = 0; i < toc.length; i++) + if (h[i] != toc[i]) + return false; + return true; } /** diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java b/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java index 99bdbf1c..71a32dd6 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/PackIndexWriter.java @@ -55,6 +55,9 @@ import org.spearce.jgit.util.NB; * to the byte offset within the pack where the object's data can be read. */ public abstract class PackIndexWriter { + /** Magic constant indicating post-version 1 format. */ + protected static final byte[] TOC = { -1, 't', 'O', 'c' }; + /** * Create a new writer for the oldest (most widely understood) format. *

-- 2.11.4.GIT