diff --git a/read-cache.c b/read-cache.c
index 5820f18d9a79fd83ff5a418a5dfc68bbf7c5c354..6eff4c8401b820b001a3ed48e8086c4cf1cd8f5c 100644 (file)
--- a/read-cache.c
+++ b/read-cache.c
return 1;
if (name[matchlen] == '/' || !name[matchlen])
return 1;
+ if (!matchlen)
+ return 1;
}
return 0;
}
SHA1_Update(context, write_buffer, left);
}
+ /* Flush first if not enough space for SHA1 signature */
+ if (left + 20 > WRITE_BUFFER_SIZE) {
+ if (write(fd, write_buffer, left) != left)
+ return -1;
+ left = 0;
+ }
+
/* Append the SHA1 signature at the end */
SHA1_Final(write_buffer + left, context);
left += 20;