diff options
| author | Ramsay Jones <ramsay@ramsay1.demon.co.uk> | 2009-03-20 19:51:48 +0000 |
|---|---|---|
| committer | Shawn O. Pearce <spearce@spearce.org> | 2009-03-20 14:39:02 -0700 |
| commit | 79ca2edcd4e7a801400fa33c2c705b8f03a5d7f5 (patch) | |
| tree | d48d51dea1dd8e90bb8c960e68afe72cabc5f6aa /src/fileops.c | |
| parent | 7a6cf8153799563464d6f1761e55352c327b4122 (diff) | |
| download | libgit2-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.c | 10 |
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 */ |
