Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-12-27 05:44:15 +0300
committerJunio C Hamano <junkio@cox.net>2005-12-27 05:44:15 +0300
commite5f5219a4f1faf3b4e1816fad3a6296a1d39b878 (patch)
treee41c6fb839732b2fe45bd9416a22411ed3035a07 /index-pack.c
parent6ab58895cd951f6f5c96fa432afb122cfeb12746 (diff)
parent975b31dc6e12fba8f7b067ddbe32230995e05400 (diff)
GIT 1.0.5v1.0.5
Minor fixes. Starting from this one I won't be touching debian/ directory since the official maintainer seems to be reasonably quick to package up things. The packaging procedure used there seems to be quite different from what I have, so I'd like to avoid potential confusion and reduce work by the official maintainer and myself. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'index-pack.c')
-rw-r--r--index-pack.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/index-pack.c b/index-pack.c
index d4ce3af587..541d7bc1c1 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -352,18 +352,24 @@ static int sha1_compare(const void *_a, const void *_b)
static void write_index_file(const char *index_name, unsigned char *sha1)
{
struct sha1file *f;
- struct object_entry **sorted_by_sha =
- xcalloc(nr_objects, sizeof(struct object_entry *));
- struct object_entry **list = sorted_by_sha;
- struct object_entry **last = sorted_by_sha + nr_objects;
+ struct object_entry **sorted_by_sha, **list, **last;
unsigned int array[256];
int i;
SHA_CTX ctx;
- for (i = 0; i < nr_objects; ++i)
- sorted_by_sha[i] = &objects[i];
- qsort(sorted_by_sha, nr_objects, sizeof(sorted_by_sha[0]),
- sha1_compare);
+ if (nr_objects) {
+ sorted_by_sha =
+ xcalloc(nr_objects, sizeof(struct object_entry *));
+ list = sorted_by_sha;
+ last = sorted_by_sha + nr_objects;
+ for (i = 0; i < nr_objects; ++i)
+ sorted_by_sha[i] = &objects[i];
+ qsort(sorted_by_sha, nr_objects, sizeof(sorted_by_sha[0]),
+ sha1_compare);
+
+ }
+ else
+ sorted_by_sha = list = last = NULL;
unlink(index_name);
f = sha1create("%s", index_name);