From: Junio C Hamano <junkio@cox.net>
To: git@vger.kernel.org
Cc: Simon Schubert <corecode@fs.ei.tum.de>
Subject: [PATCH 2/2] Use fixed-size integers for .idx file I/O
Date: Wed, 17 Jan 2007 23:24:27 -0800 [thread overview]
Message-ID: <7vd55col04.fsf@assigned-by-dhcp.cox.net> (raw)
This attempts to finish what Simon started in the previous commit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
* I do not think this should have any platform dependent impact
as long as 1/2 is Ok, but for completeness's sake here it is.
builtin-pack-objects.c | 6 +++---
cache.h | 2 +-
sha1_file.c | 6 +++---
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c
index 42dd8c8..3824ee3 100644
--- a/builtin-pack-objects.c
+++ b/builtin-pack-objects.c
@@ -569,7 +569,7 @@ static void write_index_file(void)
sha1_to_hex(object_list_sha1), "idx");
struct object_entry **list = sorted_by_sha;
struct object_entry **last = list + nr_result;
- unsigned int array[256];
+ uint32_t array[256];
/*
* Write the first-level table (the list is sorted,
@@ -587,7 +587,7 @@ static void write_index_file(void)
array[i] = htonl(next - sorted_by_sha);
list = next;
}
- sha1write(f, array, 256 * sizeof(int));
+ sha1write(f, array, 256 * 4);
/*
* Write the actual SHA1 entries..
@@ -595,7 +595,7 @@ static void write_index_file(void)
list = sorted_by_sha;
for (i = 0; i < nr_result; i++) {
struct object_entry *entry = *list++;
- unsigned int offset = htonl(entry->offset);
+ uint32_t offset = htonl(entry->offset);
sha1write(f, &offset, 4);
sha1write(f, entry->sha1, 20);
}
diff --git a/cache.h b/cache.h
index fda3f8e..e6e19bd 100644
--- a/cache.h
+++ b/cache.h
@@ -351,7 +351,7 @@ struct pack_window {
extern struct packed_git {
struct packed_git *next;
struct pack_window *windows;
- unsigned int *index_base;
+ uint32_t *index_base;
off_t index_size;
off_t pack_size;
int pack_fd;
diff --git a/sha1_file.c b/sha1_file.c
index 0b70545..3025440 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -435,7 +435,7 @@ static int check_packed_git_idx(const char *path, unsigned long *idx_size_,
void **idx_map_)
{
void *idx_map;
- unsigned int *index;
+ uint32_t *index;
unsigned long idx_size;
int nr, i;
int fd = open(path, O_RDONLY);
@@ -1351,7 +1351,7 @@ int nth_packed_object_sha1(const struct packed_git *p, int n,
unsigned long find_pack_entry_one(const unsigned char *sha1,
struct packed_git *p)
{
- unsigned int *level1_ofs = p->index_base;
+ uint32_t *level1_ofs = p->index_base;
int hi = ntohl(level1_ofs[*sha1]);
int lo = ((*sha1 == 0x0) ? 0 : ntohl(level1_ofs[*sha1 - 1]));
void *index = p->index_base + 256;
@@ -1360,7 +1360,7 @@ unsigned long find_pack_entry_one(const unsigned char *sha1,
int mi = (lo + hi) / 2;
int cmp = hashcmp((unsigned char *)index + (24 * mi) + 4, sha1);
if (!cmp)
- return ntohl(*((unsigned int *) ((char *) index + (24 * mi))));
+ return ntohl(*((uint32_t *)((char *)index + (24 * mi))));
if (cmp > 0)
hi = mi;
else
--
1.5.0.rc1.g05cf8
next reply other threads:[~2007-01-18 7:24 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-18 7:24 Junio C Hamano [this message]
2007-01-18 14:51 ` [PATCH 2/2] Use fixed-size integers for .idx file I/O Morten Welinder
2007-01-18 14:56 ` Simon 'corecode' Schubert
2007-01-18 15:15 ` Johannes Schindelin
2007-01-18 15:21 ` Shawn O. Pearce
2007-01-18 15:30 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vd55col04.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=corecode@fs.ei.tum.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.