From: Shawn O. Pearce <spearce@spearce.org>
Date: Thu, 18 Jan 2007 16:30:17 +0000 (-0500)
Subject: Use fixed-size integers when writing out the index in fast-import.
X-Git-Tag: v1.5.0-rc4~14^2~19
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ebea9dd4f1b62cb3c8302f10aaca3af0231e9818;p=git.git

Use fixed-size integers when writing out the index in fast-import.

Currently the pack .idx file format uses 32-bit unsigned integers
for the fan-out table and the object offsets.  We had previously
defined these as 'unsigned int', but not every system will define
that type to be a 32 bit value.  To ensure maximum portability we
should always use 'uint32_t'.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---

diff --git a/fast-import.c b/fast-import.c
index fb7d912ef..7f519b4de 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -672,7 +672,7 @@ static char* create_index(void)
 	struct sha1file *f;
 	struct object_entry **idx, **c, **last, *e;
 	struct object_entry_pool *o;
-	unsigned int array[256];
+	uint32_t array[256];
 	int i, idx_fd;
 
 	/* Build the sorted table of object IDs. */
@@ -709,7 +709,7 @@ static char* create_index(void)
 	sha1write(f, array, 256 * sizeof(int));
 	SHA1_Init(&ctx);
 	for (c = idx; c != last; c++) {
-		unsigned int offset = htonl((*c)->offset);
+		uint32_t offset = htonl((*c)->offset);
 		sha1write(f, &offset, 4);
 		sha1write(f, (*c)->sha1, sizeof((*c)->sha1));
 		SHA1_Update(&ctx, (*c)->sha1, 20);
diff --git a/git-compat-util.h b/git-compat-util.h
index 614583e56..ac06963e8 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -46,6 +46,7 @@
 #include <arpa/inet.h>
 #include <netdb.h>
 #include <pwd.h>
+#include <stdint.h>
 #include <grp.h>
 
 #ifndef NO_ICONV