This ensures that a given area is mapped at most twice, and greatly
reduces the virtual address space usage.
Signed-off-by: Alexandre Julliard <redacted>
---
sha1_file.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index 8ad7fad..a217c3c 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -665,7 +665,7 @@ unsigned char* use_pack(struct packed_git *p,
if (!page_size)
page_size = getpagesize();
win = xcalloc(1, sizeof(*win));
- win->offset = (offset / page_size) * page_size;
+ win->offset = (offset / (packed_git_window_size/2)) * (packed_git_window_size/2);
win->len = p->pack_size - win->offset;
if (win->len > packed_git_window_size)
win->len = packed_git_window_size;
--
1.5.0.7.g2fa71
--
Alexandre Julliard
julliard@winehq.org