Commit 51a3dfb5958e11acf3294e8f740c3ebd777c48a9

Vicent Marti 2013-11-01T16:31:02

pack: `__object_header` always returns unsigned values

diff --git a/src/indexer.c b/src/indexer.c
index 64a9074..3b4dffa 100644
--- a/src/indexer.c
+++ b/src/indexer.c
@@ -632,8 +632,7 @@ static int inject_object(git_indexer_stream *idx, git_oid *id)
 	git_buf buf = GIT_BUF_INIT;
 	git_off_t entry_start;
 	const void *data;
-	size_t len;
-	int hdr_len;
+	size_t len, hdr_len;
 	int error;
 
 	entry = git__calloc(1, sizeof(*entry));
diff --git a/src/pack.c b/src/pack.c
index 51fbc4e..644b2d4 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -372,7 +372,7 @@ static unsigned char *pack_window_open(
  *  - each byte afterwards: low seven bits are size continuation,
  *    with the high bit being "size continues"
  */
-int git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type)
+size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type)
 {
 	unsigned char *hdr_base;
 	unsigned char c;
@@ -392,7 +392,7 @@ int git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type)
 	}
 	*hdr++ = c;
 
-	return (int)(hdr - hdr_base);
+	return (hdr - hdr_base);
 }
 
 
diff --git a/src/pack.h b/src/pack.h
index baad361..28146ab 100644
--- a/src/pack.h
+++ b/src/pack.h
@@ -112,7 +112,7 @@ typedef struct git_packfile_stream {
 	git_mwindow *mw;
 } git_packfile_stream;
 
-int git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type);
+size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type);
 
 int git_packfile_unpack_header(
 		size_t *size_p,