summaryrefslogtreecommitdiff
path: root/src/fileops.c
diff options
context:
space:
mode:
authorRamsay Jones <ramsay@ramsay1.demon.co.uk>2009-03-20 19:51:48 +0000
committerShawn O. Pearce <spearce@spearce.org>2009-03-20 14:39:02 -0700
commit79ca2edcd4e7a801400fa33c2c705b8f03a5d7f5 (patch)
treed48d51dea1dd8e90bb8c960e68afe72cabc5f6aa /src/fileops.c
parent7a6cf8153799563464d6f1761e55352c327b4122 (diff)
downloadlibgit2-79ca2edcd4e7a801400fa33c2c705b8f03a5d7f5.tar.gz
win32: Add routines to abstract memory-mapped file functions
In particular, the git__mmap() and git__munmap() routines provide the interface to platform specific memory-mapped file facilities. We provide implementations for unix and win32, which can be found in their own sub-directories. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'src/fileops.c')
-rw-r--r--src/fileops.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/fileops.c b/src/fileops.c
index e2ec61507..09e1e1219 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -106,18 +106,16 @@ void gitfo_free_buf(gitfo_buf *obj)
obj->data = NULL;
}
-int gitfo_map_ro(gitfo_map *out, git_file fd, off_t begin, size_t len)
+int gitfo_map_ro(git_map *out, git_file fd, off_t begin, size_t len)
{
- out->data = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, begin);
- if (out->data == (void*)-1)
+ if (git__mmap(out, len, GIT_PROT_READ, GIT_MAP_SHARED, fd, begin) < 0)
return git_os_error();
- out->len = len;
return GIT_SUCCESS;
}
-void gitfo_free_map(gitfo_map *out)
+void gitfo_free_map(git_map *out)
{
- munmap(out->data, out->len);
+ git__munmap(out);
}
/* cached diskio */